小编Mik*_*owe的帖子

菜单上没有添加控制器,无法在MVC 4.5中添加视图

我刚刚下载了新的nopCommerce 3.2 MVC 4应用程序.当我在Visual Studio中打开解决方案时,我无法添加控制器:"添加"菜单中没有"控制器...."选项.当我在Controller内部右键单击时,也没有"添加视图".

它似乎将解决方案中的所有项目都视为"Web表单".

我认为这与上一次Windows更新有关.它改变了一些东西 我有Visual Studio的最新更新.

任何人都知道如何解决这个问题?谢谢

更新:解决了.需要安装此更新:

[ASP.NET和Web Tools 2013.1 for Visual Studio 2012] [1]:[1]:http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp -net-和网络工具-2013-1换视觉工作室2012.aspx

asp.net-mvc visual-studio

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

MVC"post back"DropDown List onchange选中

这是我到目前为止:

@Html.DropDownList("id", (SelectList)ViewBag.Values, new { onchange = "UpdateProduct(this);" })

<script language="JavaScript">
    $('#id').on('change', function () {
        var data = { prodID: 5, catID: 8 }; // < added test values
        $.post('GiftList/UpdateProduct', data, function (responseData) {
            //callback function
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

这是我更新的操作方法:

[HttpPost]
public ActionResult UpdateProduct(int prodID, int catID)
{
    ........
    product.Category= catID;
   _productService.UpdateProduct(product);
    ... 
Run Code Online (Sandbox Code Playgroud)

我只是不知道如何"连线"这一切.

原始问题:

我有一个DropDown,当一个项目被选中时,运行一些代码并更新数据库中的Product表.

此下拉列表包含类别表(id和名称)中的项目:

@Html.DropDownList("id", (SelectList)ViewBag.Values, new { onchange = "UpdateProductsDB(this);" })    
Run Code Online (Sandbox Code Playgroud)

我需要传入所选类别的'id'字段.

我还需要从Product表中传递Product Id以进行更新.

我可以通过以下方式访问View中的产品ID('id'):

    @foreach (var item in Model.Products)
    {  ....
        item.Id
Run Code Online (Sandbox Code Playgroud)

我添加了一个隐藏的字段:

<input id="item_Id" …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery asp.net-mvc-3 asp.net-mvc-4

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

在LINQ中使用条件

如何使用LINQ中的条件重写它?

如果selectID = 0,我希望它运行:

   var products = from p in product.Table
       orderby p.Name
       where (p.stock == stockId)
      select p;        
Run Code Online (Sandbox Code Playgroud)

如果selectID不为零,我希望它运行:

   var products = from p in product.Table
       orderby p.Name
       where (p.stock == stockId) &&        
             (p.Id == selectID)
      select p;             
Run Code Online (Sandbox Code Playgroud)

这下面有效,但是我必须使用"虚拟"第二个条件(p.hidden == false)才能使三元运算符工作:

   var products = from p in product.Table
       orderby p.Name
       where (p.stock == stockId) &&        
      (selectID != 0 ? p.Id == selectID : p.hidden == false)
      select p;             
Run Code Online (Sandbox Code Playgroud)

有没有办法摆脱(p.hidden == false),因为逻辑中不需要它,只是让操作员工作.谢谢

c# linq asp.net-mvc asp.net-mvc-4 entity-framework-5

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

从DropDown列表传入多个值

我需要将DropDown中的2个值传递给Action方法:

@using (Html.BeginForm("AddMemberToEvent"))
{
 @Html.DropDownList("ddlPeopleList", 
       new SelectList(Model.PeopleList, "Id", "Username"), "Select: ", 
       new { onchange = "this.form.submit();", eventID = Model.catID })
}

[HttpPost]
public ActionResult AddMemberToEvent(string ddlPeopleList, string eventID) 
{
Run Code Online (Sandbox Code Playgroud)

ddlPeopleList参数有效,..我对DropDown列表的第一个参数有点困惑,...,它是DropDown的名称还是代码使用的Selected值?

eventID没有被传入.我在下拉列表中设置了一个断点,并且存在正确的值,它只是没有传递给方法.有没有更好的方法来实现这个?谢谢

更新:我通过这样解决了它.使用隐藏字段:

 @using (Html.BeginForm("AddMemberToEvent"))
            {
                @Html.Hidden("eventID", Model.catID )
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc razor asp.net-mvc-3 asp.net-mvc-4

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