[英]How to pass a javascript variable to Razor c# code?
@{
var Countries=Model.FirstOrDefault(x=>x.Id==**JavaScriptVariable**);
@Html.Partial("Countries", Countries)
}
我知道使用ajax调用是可能的,但是如何将从服务器端返回的json结果分配给Razor c#代码,我应该在返回视图之前将值放在模型或ViewBag中,但是我不知道如何编码。
您不能在C#代码中使用javascript
变量。 但是相反的可能。 但是,在这种情况下,您必须使用ajax本身来加载部分视图。
你可以尝试的是..
1)创建一个ActionResult,它将返回部分视图。 (确保将ActionResult名称设置为与部分视图名称相同,这只是为了减少代码中的混乱。)
2)然后在jquery中点击此ActionResult。
就像是..
$.get('/YourController/'+ JavaScriptVariable +'/',function(result){
//you got the partial view here...
$('#yourDiv').append(result);
});
您应该使用以下行在控制器中分配数据:
ViewBag.TestVariable = "Test string";
在视图中,您可以按如下方式访问此数据:
@ViewBag.TestVariable
在您的情况下,我将将为数据“ Countries”分配数据的逻辑移至控制器,然后使用ViewBag存储该数据并从View中访问它。
您可以使用JsonResult
类型:
public JsonResult fnname()
{
// Do something
return Json(youJson , JsonRequestBehavior.AllowGet);
}
jQuery调用以获取该Json
$(document).ready(function() {
$.post("/controllername/fnname", { }, function (result) {
alert(result);
}, "json");
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.