繁体   English   中英

在 javascript 中构建我的 Html.Partial 字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM