如何使用选定的单选按钮在Mvc5中的视图之间导航

时间:2014-05-27 08:50:18

标签: radio-button asp.net-mvc-5

请问我可以使用选定的单选按钮导航到视图绑定吗?(我是MVC的新手)

我有一个页面,其中包含2个单选按钮,我希望将其绑定到不同的视图,当选择单选按钮然后单击下面的按钮时,将带您到该特定单选按钮的视图绑定,否则返回错误您必须选择其中一个单选按钮,例如银行付款和付款的付款页面。电子支付,当选择BANK-PAYMENT单选按钮,然后点击按钮GO,我想带一个包含填写银行详细信息和表格的表格的视图。与电子支付相同

我将非常感谢您提前给予的任何帮助...

这是我的MVC5代码

`

                    
                <div>
                    <h4 class="center">Amount</h4>
                    @Html.TextBoxFor(model => model.Amount, new { @readonly = "readonly"})
                </div>
                <div class="span12"></div>
                <h4 class=" center">Payment Method</h4>
                <div>
                    @Html.RadioButton("PaymentMethod", "/E-Recharge", new { @class = "radio" }) <strong>E-Recharge</strong>
                </div>
                <div>
                    @Html.RadioButton("PaymentMethod", "/Bank", new { @class = "radio" }) <strong>Bank Deposit</strong>
                </div>
                <div class="span5"></div>
                <div class="controls">
                    <input type="submit" class="btn btn-success btn-large btn-block" value="Order" />
                </div>

            </div>
            }
        </div>`

1 个答案:

答案 0 :(得分:1)

有很多方法可以实现目标。

方法#1

第一种方法是在两个单选按钮上附加客户端单击事件。让一些jQuery弄清楚哪两个按钮被点击并触发windows.location.href

这种方法会导致页面的完全刷新,因此您需要了解它。

方法#2

第二种方法有点类似于方法#1,但不是使用windows.location.href只是触发 AJAX调用到Controller / ActionResult,而后者又会返回局部视图。将部分视图的结果HTML放在单选按钮下方(或任何位置)的<div>

此方法不会导致页面的完全刷新,但会导致AJAX调用。

方法#3

假设您的视图在ViewModel上强列表。当您在ActionResult中填充ViewModel时,准备这两种可能性并在hidden <div>’s内呈现两种可能性,您只需在.show()和{{1}之间切换根据选择的单选按钮。

这种方法不会导致页面的完全刷新,也不需要AJAX调用,因为事先在填充ViewModel时准备了两种可能性。

根据这两种可能性(视图或部分视图)的复杂性,这可以大大增加页面正确加载所需的时间。

您现在应该有足够的信息来帮助您做出正确的决定并测试这些不同的方法。