gpt4 book ai didi

javascript - 带有 Javascript 的 Razor

转载 作者:行者123 更新时间:2023-11-30 17:16:52 25 4
gpt4 key购买 nike

 @if (Model.PaymentMethodTypeId == (int) PaymentMethodType.PayPal)
{
var url = @MyLibraryHtml.JavascriptEncodeUrl(Url.RewriteAction("SaveNewPaymentMethod", "PaymentMethods"));
var args = form.serialize();
@Html.Raw(" var url = ")
}

在 if block 中,代码是 Javascript,但正如我所料,Razor 将 var url 和 var arg 视为 .NET 变量。

我知道我可以使用 Html.Raw 但是对于这个问题有没有其他更好的解决方案,因为我相信 Html.Raw 会破坏可读性

最佳答案

您可以使用 <text></text>元素告诉 Razor if 中的代码应该被视为“文本”而不​​是 C# 代码:

@if (Model.PaymentMethodTypeId == (int) PaymentMethodType.PayPal)
{
<text>
var url = @MyLibraryHtml.JavascriptEncodeUrl(Url.RewriteAction("SaveNewPaymentMethod", "PaymentMethods"));
var args = form.serialize();
</text>
}

或者,如果您只有几行,您可以使用 @: “转义”单行:

@if (Model.PaymentMethodTypeId == (int) PaymentMethodType.PayPal)
{
@:var url = @MyLibraryHtml.JavascriptEncodeUrl(Url.RewriteAction("SaveNewPaymentMethod", "PaymentMethods"));
@:var args = form.serialize();
}

关于javascript - 带有 Javascript 的 Razor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25960927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com