0

我阅读了许多关于将 razor 变量作为函数参数发送到 javascript 的帖子,但对我没有任何帮助。

这是我的剃刀观点:

string uniqueIdFirst = Model.Requests.FirstOrDefault().UniqueId;
@Html.DevExpress().Button( saveSett =>
{
    saveSett.Name = "btnCancelRequest";
    saveSett.Text = "Cancel";
    saveSett.Width = 63;
    saveSett.Height = 28;
    saveSett.ControlStyle.CssClass = "button";
    saveSett.Styles.EnableDefaultAppearance = false;
    saveSett.EnableClientSideAPI = true;
    saveSett.ClientSideEvents.Click = "function(s, e) { BtnCancelRequest('@uniqueIdFirst'); }";
} ).GetHtml();

当我调试 javascript 函数 BtnCancelRequest 时,我看到我得到的只是字符串“@uniqueIdFirst”。

4

2 回答 2

2

您必须为此使用 js 变量,请尝试以下操作:

<script type="text/javascript">
var uniqueIdFirst = '@Model.Requests.FirstOrDefault().UniqueId';
</script>

在事件中:

saveSett.ClientSideEvents.Click = "function(s, e) { BtnCancelRequest(uniqueIdFirst); }";
于 2015-08-13T07:13:05.577 回答
0

如果您使用外部 JS 文件,更好的创建方式:

@{
    string uniqueIdFirst = Model.Requests.FirstOrDefault().UniqueId;
}

saveSett.ClientSideEvents.Click = "function(s, e) {BtnCancelRequest('" + uniqueIdFirst + "'); }";
于 2015-08-13T08:03:28.837 回答