如何将Viewdata添加到Javascript中?
我有一个ASP.NETMVC项目。我正在调用控制器中的一个存储过程,并将该结果放入我的viewdata中,如下所示:如何将Viewdata添加到Javascript中?,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我有一个ASP.NETMVC项目。我正在调用控制器中的一个存储过程,并将该结果放入我的viewdata中,如下所示: var sp = callsp(parameter1, paramter2) if(abovespcontainsnoresult) { viewdata["result"] = "This sp doesn't consists any results"; } $(document).ready(function () { $("#b
var sp = callsp(parameter1, paramter2)
if(abovespcontainsnoresult)
{
viewdata["result"] = "This sp doesn't consists any results";
}
$(document).ready(function () {
$("#button").change(function (e) {
if ($(this).val() != '' && ($(@ViewData["result"].ToString()) != ""))
{
$("#button1").attr('disabled', false);
$("#button2").attr('disabled', false);
$("#button3").attr('disabled', false);
$("#button4").attr('disabled', false);
}
}
现在我必须将其传递给脚本函数。我有一个脚本,当我从下拉列表中选择列表时,它会启用按钮:
$(document).ready(function () {
$("#button").change(function (e) {
if ($(this).val() != '') {
$("#button1").attr('disabled', false);
$("#button2").attr('disabled', false);
$("#button3").attr('disabled', false);
$("#button4").attr('disabled', false);
}
}
现在我要做的是将viewdata结果添加到此脚本,并检查它是否为null。我试着这样做:
var sp = callsp(parameter1, paramter2)
if(abovespcontainsnoresult)
{
viewdata["result"] = "This sp doesn't consists any results";
}
$(document).ready(function () {
$("#button").change(function (e) {
if ($(this).val() != '' && ($(@ViewData["result"].ToString()) != ""))
{
$("#button1").attr('disabled', false);
$("#button2").attr('disabled', false);
$("#button3").attr('disabled', false);
$("#button4").attr('disabled', false);
}
}
但是如果我添加这个条件,脚本就不起作用了。那么,如何将viewdata结果检查到脚本中,并检查它是否为null?如果您在脚本中加上记号,它将起作用
'@ViewData[result]'
如果它是一个外部JS文件(脚本未在视图中编码),那么它将不工作如果您勾选它,它将工作
'@ViewData[result]'
如果它是外部JS文件(脚本未在视图中编码),它将不起作用将$(ViewData[“result”].ToString())
的值存储到JavaScript变量中,然后在If
语句中使用该变量
$(document).ready(function () {
$("#button").change(function (e) {
var result = $('@ViewData["result"].ToString()');
if ($(this).val() != '' && result !== '')
{
$("#button1").attr('disabled', false);
$("#button2").attr('disabled', false);
$("#button3").attr('disabled', false);
$("#button4").attr('disabled', false);
}
}
您最初的做法是正确的。将$(ViewData[“result”].ToString())
的值存储到JavaScript变量中,然后在if
语句中使用该变量
$(document).ready(function () {
$("#button").change(function (e) {
var result = $('@ViewData["result"].ToString()');
if ($(this).val() != '' && result !== '')
{
$("#button1").attr('disabled', false);
$("#button2").attr('disabled', false);
$("#button3").attr('disabled', false);
$("#button4").attr('disabled', false);
}
}
最初您的思路是正确的。可能的重复可能的重复