小编Joh*_*ann的帖子

部分视图不令人耳目一新

我在cshtml页面上有一个部分视图如下: -

@model MvcCommons.ViewModels.CompositeViewModel

@{
ViewBag.Title = "Edit";
}

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
    <fieldset>
    <legend>Article</legend>

    @Html.HiddenFor(model => model.ArticleViewModel.Article.ArticleID)

    <div class="editor-label">
        @Html.LabelFor(model => model.ArticleViewModel.Article.CategoryID, "Category")
    </div>
    <div class="editor-field">
        @Html.DropDownListFor(model => model.ArticleViewModel.Article.CategoryID, (SelectList)ViewBag.CategoryID) 
        @Html.ValidationMessageFor(model => model.ArticleViewModel.Article.CategoryID)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.ArticleViewModel.Article.ArticleTitle)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.ArticleViewModel.Article.ArticleTitle)
        @Html.ValidationMessageFor(model => model.ArticleViewModel.Article.ArticleTitle)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.ArticleViewModel.Article.ArticleDate)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.ArticleViewModel.Article.ArticleDate)
        @Html.ValidationMessageFor(model => model.ArticleViewModel.Article.ArticleDate)
    </div>

        @Html.HiddenFor(model => model.PageViewModel.Page.PageTitle, new { id = "PageTitle" })
        @Html.HiddenFor(model => model.PageViewModel.Page.PageAction, new { id …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc jquery partial-views razor

5
推荐指数
1
解决办法
1万
查看次数

使用 LINQ 将一个列表复制到另一个列表和子列表

我有一个员工列表,所有员工都有另一个嵌套列表,称为 EmployeeValuesCollection。

所以我的课是这样的:-

public Employee(int employeeID, string jobTitle, int companyID, 
        List<EmployeeValues> employeeValuesCollection)
{
      EmployeeID = employeeID;
      JobTitle = jobTitle;
      CompanyID = companyID;
      EmployeeValuesCollection = employeeValuesCollection;
 }
Run Code Online (Sandbox Code Playgroud)

现在我希望使用 LINQ 从另一个对象填充这个对象,到目前为止我已经:-

List<DataFileRow> dataFiles = dfRow.Rows;
dataFiles
     .ForEach(l => employeeList
                      .Add(new Employee(l.EmpID, l.JobTitle, l.CompID)));
Run Code Online (Sandbox Code Playgroud)

这是可行的,但我不知道如何在声明中添加employeeValuesCollection。可以做吗?

所以我在想:-

dataFiles
     .ForEach(l => employeeList
                     .Add(new Employee(l.EmpID, l.JobTitle, l.CompID, 
                          new List<EmployeeValuesCollection> .............)));
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助和时间。

c# linq linq-to-objects c#-4.0

4
推荐指数
1
解决办法
2万
查看次数

通过jQuery从cshtml调用Controller中的Action并返回一个值

我有一个cshtml页面,有3个文本框和3个下拉列表.

我的想法是让用户在第一个问题下拉列表中做出决定(是/否),并根据此答案填充第二个文本框,并启用第二个下拉列表(是/否),并为第三个下拉列表启用相同的过程文本框.

我现在有以下内容: -

<script type="text/javascript">
$(document).ready(function () {

    //disable the textboxes 
    $("#T_FirstQuestion").attr('disabled', true);
    $("#T_SecondQuestion").attr('disabled', true);
    $("#T_ThirdQuestion").attr('disabled', true);

    //and the dropdowns intially
    $("#SecondQuestYesNo").attr('disabled', true);
    $("#ThirdQuestYesNo").attr('disabled', true);

    $("#FirstQuestYesNo").change(function () {
        val = $("#FirstQuestYesNo").val();
        PostValue(val);

    });

    function PostValue(val) {
        var url = "/Home/DecisionFirstQuest";
        $("#T_SecondQuestion").attr('enabled', true);
        $.ajax({
            type: "POST",
            url: url,
            data: { value: val }
        }).done(function (msg) {
            alert("Data Saved: " + msg);
        });
    }


});

</script>

@using (Html.BeginForm("Decision", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))

{
<table>
    <tr>
        <td> <font …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery razor c#-4.0 asp.net-mvc-3

4
推荐指数
1
解决办法
4086
查看次数

api控制器有一个无参数的公共构造函数错误

我正在使用Unity进行DI,并且遇到以下错误:-

“尝试创建类型为'UploadController'的控制器时发生错误。请确保该控制器具有无参数的公共构造函数。”

我有以下UnityResolver:

public class UnityResolver : IDependencyResolver, IDependencyScope, System.Web.Http.Dependencies.IDependencyResolver
{
    protected IUnityContainer container;

    public UnityResolver(IUnityContainer container)
    {
        if (container == null)
        {
            throw new ArgumentNullException("container");
        }
        this.container = container;
    }

    public object GetService(Type serviceType)
    {
        try
        {
            return container.Resolve(serviceType);
        }
        catch (ResolutionFailedException)
        {
            return null;
        }
    }

    public IEnumerable<object> GetServices(Type serviceType)
    {
        try
        {
            return container.ResolveAll(serviceType);
        }
        catch (ResolutionFailedException)
        {
            return new List<object>();
        }
    }

    public IDependencyScope BeginScope()
    {
        var child = container.CreateChildContainer();
        return new UnityResolver(child);
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc unity-container asp.net-web-api2

4
推荐指数
1
解决办法
1万
查看次数

悬停打开子菜单上的jQuery菜单

我想设计类似下面的东西

<ul class="top">
  <li><a href="#">Menu1</a></li>
  <li>
    <a href="#">Menu2</a>
    <ul class="sub">
      <li><a href="#">SubMenu1</a></li>
      <li>
        <a href="#">SubMenu2</a>
        <ul class="subsub">
          <li><a href="#">SubSubMenu1</a></li>
          <li><a href="#">SubSubMenu2</a></li>
        </ul>
      </li>
      <li><a href="#">SubMenu3</a></li>
    </ul>
  </li>
  <li><a href="#">Menu3</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我的想法是,如果Node有子节点,那么子菜单将打开.因此,在这种情况下,如果用户在Menu2上悬停,则会出现SubMenu1,SubMenu2和SubMenu3,如果用户在SubMenu2上盘旋,则会出现SubSubMenu1,SubSubMenu2.

我现在有以下jQuery:

$(document).ready(function () {
  $("ul.top li").hover(function () { //When trigger is hovered...
    if ($("ul.top li").hasClass("sub")) {
      $(this).parent().find("ul.sub").slideDown('fast').show();
      $(this).parent().hover(function () {}, function () {
        $(this).parent().find("ul.sub").slideUp('slow');
      });
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

但是当我将鼠标悬停在Menu1上时,菜单2的子菜单仍然处于打开状态.

任何帮助将非常感谢!

javascript jquery jquery-ui

3
推荐指数
1
解决办法
2万
查看次数

脚手架时表中已存在关键因素

我正在做一个code first例子,基本上我有ProductsCategories.

分类模型如下:

public class Category
{
    public int Id { get; set; }

    [Required]
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Product模型如下:

public class Product
{
    public int Id { get; set; }

    [Required]
    public string Name { get; set; }

    [Required]
    public string Description { get; set; }

    [Required]
    public decimal Price { get; set; }

    [Required]
    public int Stock { get; set; }

    public string ImageName { get; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework visual-studio-2015

3
推荐指数
1
解决办法
1741
查看次数

Silverlight还是MVC.NET?

是时候重建我的投资组合网站了,我正在考虑使用Silverlight(仍然需要学习基础但很有趣)或者使用MVC.NET.

我想使用Silverlight,因为我真的很有兴趣学习它,建立一个小型的投资组合网站不应该是这个世界的任务.但是我不知道它是否可取,因为我希望每个人都可以查看和访问我的投资组合,独立于平台.

你们有什么感想?

谢谢

silverlight asp.net-mvc

2
推荐指数
1
解决办法
184
查看次数

将List <Product>拆分为SubLists <Product>

我有一个列表,其中包含类别和产品作为属性,我希望将所有与类别相关的产品分开到不同的列表中.

目前我有这个

Products products = new Products();

        products.productList.Add(new Products("Fruit", "Apples"));
        products.productList.Add(new Products("Fruit", "Oranges"));
        products.productList.Add(new Products("Fruit", "Bananas"));
        products.productList.Add(new Products("Fruit", "Grapes"));
        products.productList.Add(new Products("Vegetables", "Tomatoes"));
        products.productList.Add(new Products("Vegetables", "Lettuce"));
        products.productList.Add(new Products("Vegetables", "Onions"));
        products.productList.Add(new Products("Dairy", "Milk"));
        products.productList.Add(new Products("Dairy", "Yogurth"));
        products.productList.Add(new Products("Dairy", "Eggs"));

        List<IEnumerable<string>> distinctCats = products.productList.GroupBy(s => s.Category).Select(s => s.Select(v => v.Product)).ToList();
Run Code Online (Sandbox Code Playgroud)

但我似乎无法从distinctCats中获取值.我想得到一个类似普通List productList的实际值.

谢谢你的帮助和时间

c# linq linq-to-objects c#-4.0

2
推荐指数
1
解决办法
4795
查看次数

System.Data.Entity.Edm.EdmEntityType没有定义键

我正在尝试使用Code-First创建一个sdf,但是我收到的错误是没有为我的表定义键,并且无法理解为什么.

我有以下课程: -

public class Article
{
    [Key]
    public int ArticleID;

    //[Display(Name = "Title")]
    //[MaxLength(255)]
    //[Required(ErrorMessage="Title is required")]
    public string ArticleTitle;

    //[Display(Name = "Date")]
    //[DisplayFormat(DataFormatString = "{0:#.#}", ApplyFormatInEditMode = true, NullDisplayText = "")]
    //[Required(ErrorMessage = "Date is required")]
    public DateTime ArticleDate;

    //[Display(Name = "Text")]
    //[Required(ErrorMessage = "Text is required")]
    public string ArticleText;

    //[Display(Name = "Source")]
    public string ArticleSource;

    //[Display(Name = "Category")]
    public int CategoryID { get; set; }

    public virtual Category Category { get; set; }

}

public class Category …
Run Code Online (Sandbox Code Playgroud)

entity-framework ef-code-first entity-framework-4.1

2
推荐指数
1
解决办法
4265
查看次数

在 React 中使用 Hooks 导出数组

我正在尝试导出在函数中生成的数组,以便我可以在我的主要组件中使用它。我有以下代码:-

子组件:-

import { useState, useEffect } from 'react';

const DeckFootball = () => {
    const [ fullDeck, setFullDeck ] = useState([])

    useEffect(() => {
        generateDeck()
    }, [deck])

    const deck = []
    const deckLimits = {
        joker: 4,
        goalkeepers: 12,
        defenders: 12,
        midfielders: 12,
        attackers: 12,
      }

      const generateDeck = () => {
        for (let i = 0; i < deckLimits.joker; i++) {
          generateCard("joker")
        }
        for (let i = 0; i < deckLimits.goalkeepers; i++) {
          generateCard("goalkeeper")
        }
        for (let i …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks react-functional-component

1
推荐指数
1
解决办法
1690
查看次数