在onClick函数中传递c#变量参数

在onClick函数中传递c#变量参数,c#,javascript,html,asp.net-mvc,C#,Javascript,Html,Asp.net Mvc,我正在使用MVC razor,我在视图部分遇到了一个小问题 要继续,我有一个包含不同元素的循环,每个元素有两个按钮,一个下载按钮,另一个请求按钮。 我的问题是“请求”一个。。。我需要它,当我点击它,我张贴的元素ID 这是我代码的一部分: enter code here <div class="contentsection" style="border-bottom:1px solid orange;"> <table style="width:100%;"> &l

我正在使用MVC razor,我在视图部分遇到了一个小问题

要继续,我有一个包含不同元素的循环,每个元素有两个按钮,一个下载按钮,另一个请求按钮。 我的问题是“请求”一个。。。我需要它,当我点击它,我张贴的元素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>
在此处输入代码
...
...
@foreach(在group.Items中下载项目di)
{
@di.DisplayName
@使用(Html.BeginForm(“下载”,“MyController”,new{id=di.id},FormMethod.Post,new{style=“display:inline;”}))
{
}
@(di.申请日期)
}

我的问题是,当用户单击“请求”按钮时,调用了我的函数“somejavascriptmethod(id)”,我需要id作为参数。。。虽然我得到了一个syntac错误,我认为它可以工作。。。但它不。。。我没有“张贴”id,我得到了“500内部服务器错误”


提前感谢您的帮助

您正在创建具有相同ID的多个输入(
请求
)。HTML ID应该是唯一的

作为您所需的替代方法,您可以使用
数据属性

<input type="button" data-id="@(di.ID)" value="Request" />
试试这个

 <input type="button" value="Assign" onclick="myfunction(@di.ID);" />

function myfunction(obj) {

        var id = obj;
        alert(id);//this way you can get your id.
      }

函数myfunction(obj){
var-id=obj;
警报(id);//这样你就可以得到你的id。
}

如果您的值不是整数,则必须按如下方式使用它

<input type="button" id="request" value="Request" onclick="somejavascriptmethod('@(di.ID)')" />

试试这个

 <input type="button" id="request" value="Request" onclick="somejavascriptmethod('@di.ID')" />


请发布此视图的输出(html源代码)和您的javascript代码。我的问题是:onclick=“somejavascriptmethod(@(di.ID))”我不知道如何“发布”ID……我的意思是将输出源添加到您的问题中,这样我们就可以看到发生了什么。@minoyo,您想发布在哪里?@minoyo您的发布是什么意思?你想把
ID
传递给控制器吗?我不是说按钮ID。。。在我的循环中,我的类型DownloadItem具有不同的属性。。其中一个是ID,该ID就是我需要的…@minoyo-是-您正在
数据ID
属性中使用下载的项目ID
 <input type="button" id="request" value="Request" onclick="somejavascriptmethod('@di.ID')" />