如何使用@Html.Raw将变量从JavaScript传递到部分视图代码
我试图通过Javascript将变量从cshtml传递到我的代码隐藏页面。我能够触发下面的javascript函数。但是,当在@Html.Raw内使用时传入的变量给了我以下错误 “当前上下文中不存在名称“UserProgramId” 我的Javascript函数如下所示:如何使用@Html.Raw将变量从JavaScript传递到部分视图代码,javascript,jquery,asp.net-core,.net-core,Javascript,Jquery,Asp.net Core,.net Core,我试图通过Javascript将变量从cshtml传递到我的代码隐藏页面。我能够触发下面的javascript函数。但是,当在@Html.Raw内使用时传入的变量给了我以下错误 “当前上下文中不存在名称“UserProgramId” 我的Javascript函数如下所示: function showStandingAddPanel(UserProgramId) { $("#divStandingAddPanel").show().load("@
function showStandingAddPanel(UserProgramId) {
$("#divStandingAddPanel").show().load("@(Html.Raw($"{ Url.Page("UserDetails", "UserStandingFormPartial")}&userId={Model.ManagedUser.UserId}&userProgramId={UserProgramId}&standingIndex={standingList.Count + 1 }"))");
}
如何从Javascript使用@Html.Raw传递变量?这里是一个将数据传递给处理程序的演示 cshtml:
<div id="divStandingAddPanel"></div>
@section scripts{
<script>
$(function () {
showStandingAddPanel(2);
})
function showStandingAddPanel(UserProgramId) {
var standingList = ["1","3","5"];
var url= "@Url.Page("UserDetails", "UserStandingFormPartial")"+"&userId=" +@Model.ManagedUser.UserId+"&userProgramId=" + UserProgramId + "&standingIndex=" + (standingList.length + 1);
$.ajax({
type: "GET",
url: url,
success: function (response) {
$("#divStandingAddPanel").html(response);
},
failure: function (response) {
alert(response);
}
});
}
</script>
}
结果:
模型可以从父视图传递到局部视图
@Html.Raw
并不是将数据“传递”到局部视图的好方法,例如,要将数据传递给哪个视图?处理程序还是局部视图?
public ManagedUser ManagedUser { get; set; } = new ManagedUser { UserId = 2 };
public void OnGet()
{
}
public JsonResult OnGetUserStandingFormPartial(int userId,int userProgramId,int standingIndex)
{
return new JsonResult("success");
}