【问题标题】:asp.net MVC with Jquery modal form带有 Jquery 模态形式的 asp.net MVC
【发布时间】:2011-08-24 15:02:54
【问题描述】:

我是 MVC 新手,需要一种方法来提交模式表单以从控制器调用操作。不知何故,提交的值没有传递给控制器​​。

如果我不使用 Jquery UI 对话框模式表单,那么表单会正确提交(表单标签内有一个提交按钮)。否则,通过调用 $("#newProductForm").submit();从 jquery 中,所有值根本不会传递给控制器​​。

<a id="addNewCategory" href="#">Add new category</a>

 <div id="dialog-form" title="Add new category">
@using (Html.BeginForm("ProductCategoryInsert", "Product", FormMethod.Post, new { id = "newProductForm" }))
{   
            @Html.HiddenFor(m => m.Id)
            @Html.CheckBox("IsFeaturedProduct") 
            @Html.TextBox("DisplayOrder")
}
</div>
$(文档).ready(函数 () { $("#dialog-form").dialog({ 自动打开:假, 身高:300, 宽度:350, 模态:真, 纽扣: { "添加新类别": function () { $("#newProductForm").submit(); 返回真; }, 取消:函数(){ $(this).dialog("close"); } }, 关闭:函数(){ allFields.val("").removeClass("ui-state-error"); } }); $("#addNewCategory") 。按钮() .click(函数(){ $("#dialog-form").dialog("open"); }); });

============================================ 控制器

 [HttpPost]
        public ActionResult ProductCategoryInsert(ProductModel.ProductCategoryModel model)
        {
            var productCategory = new ProductCategory()
            {
                ProductId = model.Id,
                CategoryId = model.CategoryId, 
                IsFeaturedProduct = model.IsFeaturedProduct,
                DisplayOrder = model.DisplayOrder
            };

            _categoryService.InsertProductCategory(productCategory);

            return View();
        }

【问题讨论】:

    标签: jquery asp.net-mvc


    【解决方案1】:

    我没有看到任何会触发您提供的详细信息的危险信号。不过,我有两个建议可能有助于您进一步调查:

    1) 在表单中尝试CheckBoxForTextBoxFor。就像他们现在一样,我假设他们应该提交假设您指定的名称与控制器方法所期望的模型中的属性相匹配。

    2) 使用 Firefox 中的 Firebug 控制台查看发布到控制器的内容。

    请记住,表单中字段的名称必须与模型中的属性完全匹配。

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多