【发布时间】:2014-09-02 15:51:31
【问题描述】:
我遇到了一个奇怪的问题......我无法通过我的 javascript 代码中的下拉菜单来渲染剃须刀......他最终会因为渲染时的引号而丢失。在做拉伸代码之后:
function AddNewRowPriceTable(tableName)
{
var trBegin = "<tr>";
var trEnd = "</tr>";
var tdBegin = "<td>";
var tdEnd = "</td>";
$("#" + tableName).append(trBegin + tdBegin + " @Html.DropDownListFor( model => model.CompanyPriceType, DataDictionary.COMPANY_PRICE[ SessionWrapper.Culture ] ) " + tdEnd + trEnd);
}
这是我得到的错误,下拉列表的值是“成本”,“收入”没有任何特殊字符。如何避免这个问题?
更新:问题不在引号中,而是在渲染时出现换行,如何避免换行?
【问题讨论】:
-
在你的javascript中使用单引号,这样就不会冲突了。或者,您可以将其包装在一个单独的函数中,然后替换函数调用的结果,在返回的字符串中用单引号替换引号。
-
感谢您的评论,我曾尝试使用单引号,但 p 错误仍然存在……您可以告诉我如何通过另一种方法返回字符串值吗?
-
@ErikFunkenbusch 请查看我的更新。
-
很有可能,无论如何您都希望动态获取数据,那么为什么不直接将其设为一个将返回整行的 ajax 调用呢?
-
是的,这是一条出路!即使已经完成,我们的朋友@mo.esmp 给了我们一个很好的解决方案,它显然对我有用。感谢您抽出宝贵时间。
标签: jquery asp.net-mvc razor render