这看起来像模型绑定导致我的问题。Asp.Net MVC - 将参数绑定到模型值!
基本上我有一个称为ProductOption模型和用于此问题它有2个字段
ID的目的(INT)PK 的ProductID(INT)FK
我有一个标准路线建立
context.MapRoute(
"Product_default",
"Product/{controller}/{action}/{id}",
new { controller = "Product", action = "Index", id = UrlParameter.Optional }
);
,如果用户想增加一个选项的URL是,
/产品/选项/在上面的URL 1添加/ 1
是产品ID,我有以下的代码返回一个空模型视图,
[HttpGet]
public ActionResult Add(int id)
{
return View("Manage", new ProductOptionModel() { ProductID = id });
}
现在在我看来,我把一个隐藏字段
<%= Html.HiddenFor(x=>x.ID) %>
这是用来确定(上提交),如果我们在编辑或添加新的选项。然而,.net中的模型联编程序似乎用1(或URL中的id参数的值)代替.ID(当离开上述get actionresult时为0)
我该如何停止或解决此问题?
视图模型
public class ProductExtraModel
{
//Database
public int ID { get; set; }
public string Name { get; set; }
public int ProductID { get; set; }
public ProductModel Product { get; set; }
}
你的代码暗示它在模型中被称为ProductID而不是.ID? – Andrew 2010-06-14 15:11:34
你可以发布视图模型代码吗? – Andrew 2010-06-14 15:12:33
@SocialAddict,完成。 – LiamB 2010-06-14 15:14:25