[英]Build my Html.Partial string in javascript
我有一个 javascript function 接受 arguments 包括要加载的页面名称。 我希望能够基于此信息构建对 Html.Partial 的调用。 我想要做的是:
function tabs_itemClick(e) {
alert("my path should be [" + e.itemData.Path + "]";
var url = '_' + e.itemData.Path;
@{Html.Partial(url, new ActivityLog());
}
显然这会失败,因为 @{Html.Partial} 不存在变量 url。 你如何解决这个问题?
看起来您真正想要的是基于 javascript 变量呈现 HTML 代码段。
您需要做的是在 controller 中设置另一个操作,以接受来自前端的 ajax 调用。
在 controller 中定义一个接受局部视图名称的动作:
[HttpGet("/api/employee-login")] public ActionResult EmployeeLogin(string partialViewName) { return PartialView(partialViewName , new ActivityLog()); }
之后,创建一个局部视图并将其放在相应的目录下。
在您的前端,您应该使用您的部分视图名称触发 GET ajax 调用,例如
var myViewName = "_" + e.itemData.Path;
$.get("/api/employee-login", { partialViewName: myViewName,} )
.done(function( data ) {
/* inject the HTML segment returned into your document */
});
/* you may also need some code to handle some situations e.g. view not found */
例如,如果e.itemData.Path
= "_myView",那么您需要在项目中定义一个名为_myView.cshtml
的局部视图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.