使用'using'输出raw的语法

时间:2011-08-18 00:03:15

标签: asp.net-mvc-3 razor authorize.net

我正在将AuthorizeNet实施到我的网站中,并根据[this posting]我将使用类似的内容:

@using (Html.BeginSIMForm("http://...", 1.99M, "...", "...", true))
{
    @Html.CheckoutFormInputs(true);
    @Html.Hidden("order_id", "1234");
    <input type = "submit" value = "Pay" />
}

麻烦的是BeginSIMForm方法输出的HTML当然是被Razor转义的,所以我需要输出raw。

我试过了:

@Html.Raw(using(html.BeginSIMForm()) { ... })

但这并不好。我无法正确理解语法。有没有办法告诉Razor在某些标记之间生成原始输出?

*更新*

我错过了发帖中的内容。我需要做的就是将调用包装成.CheckoutFormInputs(),如下所示:

@Html.Raw(Html.CheckoutFormInputs(true));

并产生正确的输出......但是,对.BeginSIMForm()的调用会在页面的最顶部生成输出(表单)并中断所有内容。 GRR ...

3 个答案:

答案 0 :(得分:1)

我已经看过他们助手的源代码了。什么垃圾。我建议任何想要在Razor上实现这项服务的人都不用下载它。我会手工编写表格。可能会带回一些代码。

答案 1 :(得分:0)

根据您引用的线程,看起来该组件在编写输出方面没有正确实现。您应该联系该库的作者并验证它是否支持MVC 3,包括Razor视图引擎。

答案 2 :(得分:0)

我在这里有详细的答案

https://stackoverflow.com/a/8426501/1087034

我希望这会有所帮助。