视图中写js直接使用:
var userId = '@ViewData["UserId"].ToString()';
如果是单独的js文件,视图引用该js,js文件中不能直接使用ViewBag、ViewData
如下使用是错误的:
$('.top').click(function () {
var robotName = '@ViewBag.RobotName';
var userId = '@ViewData["UserId"].ToString()';
$.ajax({
type: 'post',
url: '控制器方法url',
data: { robotName: robotName, userId: userId },
dataType: "json",
success: function () {
$("#txt_output").val("");
}
});
})
可写成函数,把需要的值传入function的入参中。
var topClick = function (RobotName, UserId) {
$.ajax({
type: 'post',
url: '控制器url',
data: { robotName: RobotName, userId: UserId },
dataType: "json",
success: function () {
$("#txt_output").val("");
}
});
}
在视图使用时:
onclick="topClick ('@ViewBag.RobotName','@ViewData["UserId"].ToString()')"
也可以把viewbag的值放在视图的隐藏域中,js中使用时,获取隐藏域的值即可。
在页面使用input并隐藏
<input id="abc" value="@ViewBag.XXX">
在js中直接获得input的value
$("#xxx").click(function(){
var value = $("#abc").val()
});