我在我的视图中有一个按钮,就像这个
<form>
<div class="field">
<label for="product-name">Product Name</label><br />
@Html.TextBoxFor(x=> x.Name, new {id="product-name",required="required"}) <br />
<span class="helper">Give your product a name.</span>
@ViewBag.mm
</div>
<div class="field">
<label for="product-variety">Product Variety</label><br />
<input id="product-variety" type="text" /><br />
<span class="helper">Optionally, give your product a variety.</span>
</div>
<div class="field">
<label for="product-description">Description</label><br />
<input id="product-description" type="text" /><br />
<span class="helper">Add an optional description to help identify your product.</span>
</div>
<div class="field">
<label for="product-comments">Comments</label><br />
<textarea id="product-comments"></textarea><br />
<span class="helper">Add any further information or comments relating to this product.</span>
</div>
<input id="product-save-return" type="submit" value="Add Product and Return to Products" class="green-button" /> <input id="product-save-associate" type="button" value="Add Product and Associate with Sites" class="green-button" /> <input id="file-cancel" type="button" value="Cancel" class="green-button" />
在控制器中我有这样的功能
[HttpPost]
public ActionResult Add(Product product)
{
SupplierContext db = new SupplierContext();
Response.Write("Inside");
ViewBag.mm = "xyz";
if (ModelState.IsValid)
{
product.Key = Guid.NewGuid();
product.Type = ProductType.Chemical;
product.Status = EntityStatus.Default;
db.Products.Add(product);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(product);
}
但是当我单击按钮时,控制器中的功能不起作用。
答案 0 :(得分:1)
您的按钮是否在表单/操作中?在Razor中,它只是在以下语法中添加表单元素的情况:
@using (Html.BeginForm())
{
<div class="field">
<label for="product-name">Product Name</label><br />
@Html.TextBoxFor(x=> x.Name, new {id="product-name",required="required"}) <br />
<span class="helper">Give your product a name.</span>
@ViewBag.mm
</div>
<div class="field">
<label for="product-variety">Product Variety</label><br />
<input id="product-variety" type="text" /><br />
<span class="helper">Optionally, give your product a variety.</span>
</div>
<div class="field">
<label for="product-description">Description</label><br />
<input id="product-description" type="text" /><br />
<span class="helper">Add an optional description to help identify your product.</span>
</div>
<div class="field">
<label for="product-comments">Comments</label><br />
<textarea id="product-comments"></textarea><br />
<span class="helper">Add any further information or comments relating to this product.</span>
</div>
<input id="product-save-associate" type="button" value="Add Product and Associate with Sites" class="green-button" /> <input id="file-cancel" type="button" value="Cancel" class="green-button" />
<input id="product-save-return" type="submit" value="Add Product and Return to Products" class="green-button" />
}
这可能就是它没有在控制器中启动功能的原因。您也可以使用AJAX帖子在javscript中执行此操作...
答案 1 :(得分:0)
您还可以使用ActionLink:
@Html.ActionLink("Add Product and Return to Products", "Add", "YourController")
虽然这将是一个链接,而不是一个按钮。