大家好。
我知道这是MVC中非常基础的问题,但是我却无法让@Html.RenderPartial不出错。我正在使用VB.NET和Razor。我在Index视图中使用了这个方法,而Index视图又被_Layout.vbhtml渲染:
@Section MixPage
@Html.RenderPartial("_MixScreen", ViewData.Model)
End Section
上述表达式不会产生值。
今天早上我找了相当长的一段时间,我正在从以下页面中获取示例:
最终,我要做的是从控制器返回更新后的模型到局部视图:
Function UpdateFormulation(model As FormulationModel) As ActionResult
model.GetCalculation()
Return PartialView("_MixScreen", model)
End Function
这个控制器是从JavaScript表达式中调用的:
function UpdateResults() {
jQuery.support.cors = true;
var theUrl = '/Home/UpdateFormulation/';
var formulation = getFormulation();
$.ajax({
type: "POST",
url: theUrl,
contentType: "application/json",
dataType: "json",
data: JSON.stringify(formulation),
success: function (result, textStatus) {
result = jQuery.parseJSON(result.d);
if (result.ErrorMessage == null) {
FillMixScreen(result);
} else {
alert(result.ErrorMessage);
}
},
error: function (xhr, result) {
alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
alert("responseText: " + xhr.responseText);
}
});
}
如果有更好的方法将更新后的模型返回给视图并仅更新此部分视图,我很愿意听取建议。但是这个问题的前提是:为什么RenderPartial不会产生值?