【问题标题】:Using my Helper(Razor syntax) inside a JQuery-template?在 JQuery 模板中使用我的助手(Razor 语法)?
【发布时间】:2013-01-04 11:53:41
【问题描述】:

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

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

【问题讨论】:

    标签: razor jquery-templates


    【解决方案1】:

    除非该 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>
    

    【讨论】:

    • 聪明的方法!!从逻辑上讲,您的想法必须有效。但是不要t know why, your solution didnt 工作!脚本正确,但什么也没发生!
    猜你喜欢
    • 2023-03-30
    • 2012-08-30
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 2014-04-04
    • 2011-10-22
    相关资源
    最近更新 更多