2013-01-21 33 views
0

无论如何在JQuery模板中使用Razor!?!?在JQuery模板中使用我的助手(Razor语法)?

<td class="start">{% if (!o.options.autoUpload) { %} 
      <button class="btn btn-primary"> 
       <i class="icon-upload icon-white"></i> 
       <span>{%=locale.fileupload.start%}</span> 
      </button> 
**@Html.LookupValues("Hrm_PeriodStatus_PeriodStatusType",CalendarPeriodFields.PeriodStatusType, "V_PeriodStatusTypeTitle")** 
     {% } %}</td> 
    {% } else { %} 
     <td colspan="2"></td> 
    {% } %} 
    <td class="cancel">{% if (!i) { %} 
     <button class="btn btn-warning"> 
      <i class="icon-ban-circle icon-white"></i> 
      <span>{%=locale.fileupload.cancel%}</span> 
     </button> 
    {% } %}</td> 

我想在此模板中创建一个下拉菜单,但这个过程是完全独立的!

回答

0

您不能在静态文件(如JavaScript)中使用服务器端助手,除非通过服务器端处理程序呈现此JavaScript文件。

例如,你可以拥有它正在服刑的视图控制器动作:

public class MyTemplatesController: Controller 
{ 
    public ActionResult Index() 
    { 
     Response.ContentType = "text/javascript"; 
     return View(); 
    } 
} 

,然后你可以有其中将包含您的模板(~/Views/MyTemplates/Index.cshtml),并在其中你可以使用服务器端的帮手相应的视图:

<td class="start"> 
    {% if (!o.options.autoUpload) { %} 
     <button class="btn btn-primary"> 
      <i class="icon-upload icon-white"></i> 
      <span>{%=locale.fileupload.start%}</span> 
     </button> 
     @Html.LookupValues(
      "Hrm_PeriodStatus_PeriodStatusType", 
      CalendarPeriodFields.PeriodStatusType, 
      "V_PeriodStatusTypeTitle" 
     ) 
    {% } %} 
</td> 
{% } else { %} 
    <td colspan="2"></td> 
{% } %} 
<td class="cancel"> 
{% if (!i) { %} 
    <button class="btn btn-warning"> 
     <i class="icon-ban-circle icon-white"></i> 
     <span>{%=locale.fileupload.cancel%}</span> 
    </button> 
{% } %} 
</td> 

,然后你可以参考这个脚本:

<script id="someTemplate" src="@Url.Action("MyTemplates", "Index")" type="text/x-jquery-tmpl"></script> 
+0

聪明的方法! 从逻辑上说,你的想法必须奏效。但不知道为什么,你的解决方案没有工作! 脚本正确传入,但没有任何事情发生! – Ariyous