在onClick函数中传递c#变量参数
本文关键字:变量 参数 onClick 函数 | 更新日期: 2023-09-27 18:29:42
我正在使用MVC剃刀,我在视图部分遇到了一个小问题。。。
继续,我有一个包含不同元素的循环,每个元素都有两个按钮,一个是下载,另一个是请求。我的问题是"请求"。。。我需要当我点击它时,我会发布元素的ID。。。
这是我代码的一部分:
enter code here <div class="contentsection" style="border-bottom:1px solid orange;">
<table style="width:100%;">
<thead>
...
...
</thead>
<tbody>
@foreach (DownloadItem di in group.Items)
{
<tr>
<td class="bold">@di.DisplayName</td>
<td>
@using (Html.BeginForm("Download", "MyController", new { id = di.ID }, FormMethod.Post, new { style = "display:inline;" }))
{
<input type="submit" id="download" value="Download" />
}
<input type="button" id="request" value="Request" onclick="somejavascriptmethod(@(di.ID))" />
<span id="requestDate">@(di.requestDate)</span>
</td>
</tr>
}
</tbody>
</table>
我的问题是,当用户点击按钮"请求"时,我的函数"somejavascriptmethod(id)"被调用,我需要id作为参数。。。尽管我遇到了语法错误,但我认为它可以工作。。。但它不是。。。我没有"张贴"id,我得到了"500内部服务器错误"。。。
提前感谢您的帮助!
您正在创建多个具有相同ID(request
)的输入。HTML ID应该是唯一的。
作为您需要的替代方法,您可以使用data-attribute
<input type="button" data-id="@(di.ID)" value="Request" />
并使用jQuery来处理您需要的ID:
$("input[type=button]").click(function() {
var id = $(this).data("id");
yourJSFunction(id);
});
http://jsfiddle.net/XAffc/
如果你的值不是整数,那么你必须像使用一样使用它
<input type="button" id="request" value="Request" onclick="somejavascriptmethod('@(di.ID)')" />
试试这个,
<input type="button" value="Assign" onclick="myfunction(@di.ID);" />
function myfunction(obj) {
var id = obj;
alert(id);//this way you can get your id.
}
尝试这个
<input type="button" id="request" value="Request" onclick="somejavascriptmethod('@di.ID')" />