2013-01-21 34 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