Button 获取回发按钮的名称

Button 获取回发按钮的名称,button,razor,asp.net-mvc-4,postback,name-attribute,Button,Razor,Asp.net Mvc 4,Postback,Name Attribute,我通过为每种产品建立“购买产品”页面,动态地建立了一个“购买产品”页面。每个产品都有一个“添加到篮子”按钮,每个产品都有一个不同的按钮,pID作为按钮name属性。现在,我想在回发时获取控制器中的name属性的值。不确定如何执行此操作: 视图: 如果表单中没有多个提交按钮,则无需在服务器端知道单击的提交按钮的名称。还有其他方法可以将您的Id发送回服务器: 为什么不在表单中生成一个隐藏字段来保存和发布数据呢 @foreach (Ecommerce.Models.HomeModels.Product

我通过为每种产品建立“购买产品”页面,动态地建立了一个“购买产品”页面。每个产品都有一个“添加到篮子”按钮,每个产品都有一个不同的按钮,
pID
作为按钮
name
属性。现在,我想在回发时获取控制器中的
name
属性的值。不确定如何执行此操作:

视图:


如果表单中没有多个提交按钮,则无需在服务器端知道单击的提交按钮的名称。还有其他方法可以将您的Id发送回服务器:

为什么不在表单中生成一个隐藏字段来保存和发布数据呢

@foreach (Ecommerce.Models.HomeModels.Product product in Model)
{
    using (Html.BeginForm())
    {
        <input type="hidden" name="productId" value="@product.ID" />
        <input  type="submit" value="Add to Basket" /> 
    }
}

是否有更好的方法提供此功能?不,你需要ID,因为你需要告诉服务器你选择了哪个产品。因此,您需要将产品ID存储在Html中的某个位置,然后将其发送到服务器。
[HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public ActionResult BuyProducts(string button)
        {

        }
@foreach (Ecommerce.Models.HomeModels.Product product in Model)
{
    using (Html.BeginForm())
    {
        <input type="hidden" name="productId" value="@product.ID" />
        <input  type="submit" value="Add to Basket" /> 
    }
}
public ActionResult BuyProducts(string productId)
{
    //..
}