【问题标题】:Sending razor variable as function parameter on button click在按钮单击时发送剃刀变量作为函数参数
【发布时间】:2015-08-13 07:04:27
【问题描述】:

我阅读了许多关于将 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”。

【问题讨论】:

    标签: javascript asp.net-mvc razor devexpress-mvc


    【解决方案1】:

    你必须为此使用一个 js 变量,试试这样:

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

    在事件中:

    saveSett.ClientSideEvents.Click = "function(s, e) { BtnCancelRequest(uniqueIdFirst); }";
    

    【讨论】:

      【解决方案2】:

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

      @{
          string uniqueIdFirst = Model.Requests.FirstOrDefault().UniqueId;
      }
      
      saveSett.ClientSideEvents.Click = "function(s, e) {BtnCancelRequest('" + uniqueIdFirst + "'); }";
      

      【讨论】:

        猜你喜欢
        • 2011-07-07
        • 2019-12-04
        • 1970-01-01
        • 2012-06-04
        • 1970-01-01
        • 2014-03-01
        • 2017-02-20
        • 2015-03-31
        • 1970-01-01
        相关资源
        最近更新 更多