本来想通过javascript脚本来实现规格化文本转数据列表的功能,但最后不知道不通过事件如何在Razor中调用js函数,@函数名行不通。只好利用MVC Function来实现
通过@helper (没实践,感兴趣者可以试试)或者@function来实现
本文使用@function
代码如下
@functions
{
private static HtmlString FormatTargetResult(int i, string result)
{
var sb = new StringBuilder();
var targetResult = new TagBuilder("ol");
var arrResult = result.Split('-');
foreach (var item in arrResult)
{
var listItem = new TagBuilder("li");
listItem.SetInnerText(item);
sb.AppendLine(listItem.ToString(TagRenderMode.Normal));
}
targetResult.InnerHtml = sb.ToString();
return new HtmlString(targetResult.ToString(TagRenderMode.Normal));
}
}
-----------------------------------------------------------------------------------------------------------------
调用的时候不是网上一篇文章所说的使用@Function,而是直接@函数名就可以啦。
最后 遗留一个问题给各位看官,razor view中 可以直接调用js函数吗?当然
<td class="@result">
<a href="javascript:void(0);" onclick="showResult('@i')" >@result</a>
</td>
这种方法不算额。。。
目前不知道直接调用js函数的方法,望高手解答。