我使用了ng-include
,如下所示。但它不起作用。你能告诉我为什么吗?提前谢谢。
createOrEditPropertyModal.cshtml
<div ng-include="'propertymanagement/tabs/createPropertyForm.html'"></div>
我也尝试过这种方式。但是404
错误。
<div ng-include="'tabs/createPropertyForm.html'"></div>
createPropertyForm.cshtml
<script type="text/ng-template" id="createPropertyForm.html">
<form name="createPropertyForm" role="form">
//removed for clarity
</form>
</script>
Soloution Tree
注意:当我把它放在同一页面上然后它可以工作。但我怎么能以上述方式做到这一点? B&#39;我想将该代码放在单独的.cshtml
文件中。
<div ng-include="'createPropertyForm.html'"></div> //on same page where this works well
答案 0 :(得分:10)
方法1:OP的回答
你可以这样做。这就是方法。你必须给出如下所示的完整路径。
<div ng-include="'~/App/tenant/views/propertymanagement/tabs/createPropertyForm.cshtml'"></div>
如果您遇到任何性能问题,请在此处查看:ng-Include is very slow with the external template
方法2:
您不能使用ng-include
包含.cshtml页面对于它你必须使用正确的mvc路由,比如
<div ng-include="'controller/Template/createPropertyForm'"></div>
这里createPropertyForm将像一个动作方法的id部分
public ActionResult Template(string id)
{
switch (id.ToLower())
{
case "createPropertyForm":
return PartialView("~/Views/propertymanagement/tabs/createPropertyForm.cshtml");
default:
throw new Exception("template not known");
}
}
否则只需创建一个html页面并将其作为
进行访问 <div ng-include="'createPropertyForm.html'"></div>