【发布时间】:2016-04-11 11:38:46
【问题描述】:
我有以下GET 方法,这是创建表单的代码
public ActionResult Add_Product(string Product_ID)
{
AddNewProduct sample = new AddNewProduct();
return View(sample);
}
这是它的模型类
public class AddNewProduct
{
public string Product_ID { get; set; }
...
}
这是create form
@model project_name.Models.AddNewProduct
<h4>Add New Product</h4>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.ValidationSummary(true, "", new { @class = "text-danger" }) <div class="form-group">
@Html.LabelFor(model => model.Product_ID, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Product_ID, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Product_ID, "", new { @class = "text-danger" })
</div>
</div>
.....
<div>
@Html.ActionLink("Back to AddNewProduct", "AddNewProduct","Home" , new {Product_ID = Model.Product_ID})
</div>
}
我可以使用此视图页面插入 Product_ID。但是一旦我单击此 Back to AddNewProduct 链接并调试 AddNewProduct 我看不到 string Product_ID 的任何值
为什么这个模型属性绑定不好
【问题讨论】:
-
向我们展示您的
AddNewProduct操作代码。 -
@kez...现在查看我更新的答案。我认为通过在
@Html.ActionLink的参数末尾发送一个null,您的问题将得到解决。 -
不完全确定您要做什么。您最初传递给视图的模型尚未设置
Product_ID,因此您链接将null再次传递回该方法。要设置该值,请使用AddNewProduct sample = new AddNewProduct{ Product_ID = Product_ID }; return View(sample);,但不清楚为什么您有一个与该属性关联的DropDownListFor()。是否要将选定的选项值传递回方法? -
我没有看到
DropDownListFor()助手, -
对不起,我的意思是
TextBoxFor()
标签: c# asp.net-mvc linq razor asp.net-mvc-5