【问题标题】:How to pass value from cshtml file to the JS如何将值从cshtml文件传递给JS
【发布时间】:2014-02-06 22:12:54
【问题描述】:

您好,我需要在按下按钮后将一个参数传递给我的 JS 函数。

这是我的按钮:

<button type="button" class="btn btn-default" id="UserClick" onclick="foo(@HttpContext.Current.User.Identity.Name)">Click here to add me as a user</button>

如您所见,我尝试将@HttpContext.Current.User.Identity.Name 发送到函数 foo。

这是我的 Foo 函数:

    function foo(value) {
         alert(value);
    };

我尝试了这些主题的解决方案: One Two

但我得到的只是这个错误:

Uncaught SyntaxError: Unexpected token ILLEGAL 

如何绕过这个?

@更新

包括所有文件:

<script src="/Scripts/CreateDevice.js"></script>
<script src="/Scripts/jquery-ui.js"></script>
<script src="/Scripts/jquery-1.10.2.js"></script>

完整的 JS 文件:

$(document).ready(function () {

function foo(value) {
    alert(value);
};
})

我可以从page-source访问js文件。

【问题讨论】:

    标签: javascript asp.net-mvc


    【解决方案1】:
    onclick="foo('@HttpContext.Current.User.Identity.Name');"
    
    
    $(document).ready(function () {
    
    window.foo = function(value) {
        alert(value);
    };
    })
    

    这会起作用的......

    您应该考虑删除 html 中的“onclick”属性,并使用 jquery 的 .on() 函数将该函数绑定到按钮。

    【讨论】:

    • Uncaught ReferenceError: foo is not defined after this change
    • 函数 foo(value) { alert(value); }; ——你在哪里写的?浏览器似乎无法访问此代码
    【解决方案2】:

    首先将你的文件序列更改为

    <script src="/Scripts/jquery-1.10.2.js"></script>
    <script src="/Scripts/jquery-ui.js"></script>
    <script src="/Scripts/CreateDevice.js"></script>
    

    在文档就绪处理程序之外声明您的函数。喜欢

    $(document).ready(function () {
    });
    
    function foo(value) {
        alert(value);
    };
    

    在引号中传递您的参数

    onclick="foo('@HttpContext.Current.User.Identity.Name');"
    

    另外,您可以使用.on()绑定事件并使用属性传递参数

    JS

    $(document).ready(function () {
        //Bind Event
        $(document).on('click', '#UserClick', function(){
            alert($(this).data('user-name'))
        });
    });
    

    HTML

    <button type="button" 
        class="btn btn-default" 
        id="UserClick" 
        data-user-name="@HttpContext.Current.User.Identity.Name"
        >Click here to add me as a user</button>
    

    【讨论】:

      猜你喜欢
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 2019-04-11
      • 2016-06-14
      • 2020-08-03
      相关资源
      最近更新 更多