在JQuery模板中使用我的Helper(Razor语法)?

时间:2013-01-21 12:16:34

标签: razor jquery-templates

无论如何在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>

我想在此模板中创建一个下拉列表但是proccess是完全独立的!

1 个答案:

答案 0 :(得分: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>