2014-01-17 74 views
1

你好,我需要按下按钮后,将一个参数传递给我的JS功能。如何将值从cshtml文件传递给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。

这里我美孚功能:

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

我试图从这些主题sollutions: One Two

但我得到的得到的是这样的错误:

Uncaught SyntaxError: Unexpected token ILLEGAL 

如何绕过这个?

@Update

所有文件包括:

<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); 
}; 
}) 

我可以访问从页面源js文件。

回答

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> 
1
onclick="foo('@HttpContext.Current.User.Identity.Name');" 


$(document).ready(function() { 

window.foo = function(value) { 
    alert(value); 
}; 
}) 

这将工作...

您应该考虑去除虽然在HTML中的“onClick”属性,使用jQuery的.on()功能的功能结合到按钮。

+0

未捕获的ReferenceError:FOO这种变化 – szpic

+0

函数foo(值){ 警报(值)后不定义; }; - 你在哪里写的?浏览器无法访问此代码似乎 – bedane

+0

检查我的更新 – szpic