繁体   English   中英

如何将其重写为MVC Razor 3?

[英]How do I rewrite this into MVC Razor 3?

它是一个简单的代码段,但是在我的mvc剃刀视图中无法识别.replace:我用@替换了<%=%> ,不确定还需要什么吗?

 <%=Ajax.ActionLink("[replacethis]", 
        "ToggleEnabled", 
                new { id = Model.ID }, 
                new AjaxOptions { UpdateTargetId = "toggleimage" + Model.ID }).Replace("[replacethis]",
                string.Format("<div id='toggleimage{0}'><img src='/Content/icons/{1}' border='0' alt='toggle'/></div>", 
                Model.ID, Model.Enabled ? "tick.png" : "tick_grey.png"))%>

我不确定这是否理想,但您可以通过以下方式获得所需的服务:

  1. 插入.ToHtmlString() (即,将MvcHtmlString转换为原始HTML字符串,以便可以在其上调用Replace
  2. 将整个内容包装在Html.Raw() (这样一来,渲染之前就不会对HTML进行编码)

@Html.Raw(
    Ajax.ActionLink("[replacethis]", 
        "ToggleEnabled", 
        new { id = Model.ID }, 
        new AjaxOptions { UpdateTargetId = "toggleimage" + Model.ID })
   .ToHtmlString()
   .Replace("[replacethis]",
       string.Format("<div id='toggleimage{0}'><img src='/Content/icons/{1}' border='0' alt='toggle'/></div>", 
           Model.ID, Model.Enabled ? "tick.png" : "tick_grey.png")
   )
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM