ASP.NET的剃刀:渲染ViewBag项目和替换字符
问题描述:
我有问题,我想要做的是:ASP.NET的剃刀:渲染ViewBag项目和替换字符
我从我的控制器ViewBag.Email变量获取用户的电子邮件地址。
我想要的标签,这将有ID名为“令牌” +用户电子邮件代替字符“@”到“_”
(即电子邮件是[email protected],我想有标签为id:'tokenabc_abc.com')
<label id="@Html.Raw("token" + ViewBag.Email.replace("@", "_"))">
@ViewBag.Tokens
</label>
我试过用这段代码,但是我有问题。
错误:
An exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'
occurred in System.Core.dll but was not handled in user code
Additional information: 'string' does not contain a definition for 'replace'
答
的问题是在写方法资本R替换 - >替换。
<label id="@Html.Raw("token" + ViewBag.Email.Replace("@", "_"))">
@ViewBag.Tokens
</label>
答
,你可以写“替换”,你会得到工作的变体。这是代码的工作
<label id="@Html.Raw("token" + ViewBag.Email.Replace("@", "_"))">
@ViewBag.Tokens
什么问题?如果您在控制器中生成'格式化'文本并将其传递到视图将会好得多。 –
你有什么问题?当你这样做时,你会得到什么标识? –
我用错误代码编辑了我的问题。顺便说一下,我已经成功地遵循斯蒂芬的建议,在控制器中生成字段,现在可以。 – luka032