asp.net mvc获取按钮的id点击

时间:2010-05-29 20:35:01

标签: asp.net-mvc

 <div id="4591" >
            <input type="text" id="Title1" name="Title1"  value="a" />
            <input type="submit" name="button"  value="Save" /> </div>

<div id="4592" >
            <input type="text" id="Title2" name="Title2"  value="a" />
            <input type="submit" name="button"  value="Save" /> </div>

  <div id="4593" >
            <input type="text" id="Title3" name="Title3"  value="a" />
            <input type="submit" name="button"  value="Save" /> </div>

这是浏览器生成的html源代码的复制粘贴版本,它清楚地表明我正在页面上生成动态字段。 文本框中的名称是数据库中的字段。 如果按下其中一个保存按钮,我将如何将特定文本框名称和值发送到要更新的控制器操作。

1 个答案:

答案 0 :(得分:10)

为您的提交按钮添加不同的名称:

<div id="4591">
    <input type="text" id="Title1" name="Title1"  value="a" />
    <input type="submit" name="button4591" value="Save" />
</div>

<div id="4592">
    <input type="text" id="Title2" name="Title2"  value="a" />
    <input type="submit" name="button4592" value="Save" /> 
</div>

<div id="4593">
    <input type="text" id="Title3" name="Title3"  value="a" />
    <input type="submit" name="button4593" value="Save" /> 
</div>

然后在您的控制器操作中检查请求参数。您将看到一个带有所单击按钮名称的参数将被传递:

[HttpPost]
public ActionResult Index()
{
    string id = Request.Params
        .Cast<string>()
        .Where(p => p.StartsWith("button"))
        .Select(p => p.Substring("button".Length))
        .First();
    return View();
}