我写了一个如下方法:
[HttpPost]
public ActionResult Create([Bind(Exclude = "ProductID")]Product product)
{
try
{
db.Products.AddObject(product);
db.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
在mvc2中成功创建Create.aspx页面后。
我运行应用程序,之后如果我点击“创建新链接”
它也将打开带有Id的create.aspx。
如何从“我的页面”中删除ID。
获取方法是:
public ActionResult Create()
{
return View();
}
我的HTML页面如下:
<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
<%: Html.LabelFor(model => model.ProductID) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.ProductID) %>
<%: Html.ValidationMessageFor(model => model.ProductID) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.ProductName) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.ProductName) %>
<%: Html.ValidationMessageFor(model => model.ProductName) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.Cost) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Cost) %>
<%: Html.ValidationMessageFor(model => model.Cost) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.Quantity) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Quantity) %>
<%: Html.ValidationMessageFor(model => model.Quantity) %>
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
<div>
<%: Html.ActionLink("Back to List", "Index") %>
</div>
感谢所有人。
答案 0 :(得分:0)
嗯,如何从您的视图中删除ID?只是。只需在View上删除它的声明即可。但这真的是你想要的吗?
例如,对于更新方案,您将需要Id。因此,如果你真的想删除你的ID,你应该在你的模型上做,所以:
product.ProductId = null;
答案 1 :(得分:0)
尝试将此属性添加到模型属性中。这将优先于在前端发生的事情。
[HiddenInput(DisplayValue = false)]