Asp.net mvc 3 是否可以通过在mvc3中选择单选按钮来加载局部视图

Asp.net mvc 3 是否可以通过在mvc3中选择单选按钮来加载局部视图,asp.net-mvc-3,c#-4.0,radio-button,Asp.net Mvc 3,C# 4.0,Radio Button,我可以在不使用Jquery的情况下使用单选按钮选择两个不同的局部视图吗?是和否。局部视图只能通过ajax加载(初始页面加载后),因此如果不使用ajax,局部页面刷新是不可能的。但是,您可以submitselected单选按钮(通过javascript)到控制器操作,然后在控制器内部确定选择了哪个单选按钮。这将只是选择适当视图的一个例子 正如我所说的,如果混合中没有ajax,您就不能走部分路线,因此答案是否定的。此外,您还必须使用javascript才能在提交中使用单选按钮,在这种情况下,ajax

我可以在不使用Jquery的情况下使用单选按钮选择两个不同的局部视图吗?

是和否。局部视图只能通过ajax加载(初始页面加载后),因此如果不使用ajax,局部页面刷新是不可能的。但是,您可以
submit
selected单选按钮(通过javascript)到控制器操作,然后在控制器内部确定选择了哪个单选按钮。这将只是选择适当视图的一个例子

正如我所说的,如果混合中没有ajax,您就不能走部分路线,因此答案是否定的。此外,您还必须使用javascript才能在提交中使用单选按钮,在这种情况下,ajax解决方案可能值得考虑

[编辑]根据Splash-X,这里是隐藏div场景的快速升级:

@*use either @Html.RenderPartial() or @Html.RenderAction() as required*@

<div id="developerDiv" style="display: none">
    This is the developer stuff, in reality, 
    this would be populated as such @*@Html.RenderPartial("DeveloperPartial")*@
</div>
<div id="testerDiv" style="display: none">
    And here we have the testers, again, 
    this would be populated as such @*@Html.RenderPartial("TestersPartial")*@
</div>
<div>
    Developer :@Html.RadioButton("team", "developer", new { onclick = "showResult(this)"}) 
    Tester :@Html.RadioButton("team", "tester", new { onclick = "showResult(this)"})
</div>
<div id="partialContainer"></div>

<script type="text/javascript">
    function showResult(radio) {
        var selected = radio.value;
        if (selected == "developer")
            document.getElementById("partialContainer").innerHTML 
                = document.getElementById("developerDiv").innerHTML;
        else if (selected == "tester")
            document.getElementById("partialContainer").innerHTML 
                = document.getElementById("testerDiv").innerHTML;
    }
</script>
@*根据需要使用@Html.RenderPartial()或@Html.RenderAction()*@
这是开发者的东西,事实上,
这将被填充为@*@Html.RenderPartial(“DeveloperPartial”)*@
这里我们又有了测试人员,
这将被填充为@*@Html.RenderPartial(“TestersPartial”)*@
开发者:@Html.RadioButton(“团队”、“开发者”,new{onclick=“showResult(this)”})
Tester:@Html.RadioButton(“团队”、“测试者”,new{onclick=“showResult(this)”)
功能显示结果(收音机){
选择的var=无线电值;
如果(选定==“开发人员”)
document.getElementById(“partialContainer”).innerHTML
=document.getElementById(“developerDiv”).innerHTML;
否则如果(所选==“测试仪”)
document.getElementById(“partialContainer”).innerHTML
=document.getElementById(“testerDiv”).innerHTML;
}

享受..

是和否。只能通过ajax加载部分页面(在初始页面加载之后),因此如果不使用ajax,部分页面刷新是不可能的。但是,您可以
submit
selected单选按钮(通过javascript)到控制器操作,然后在控制器内部确定选择了哪个单选按钮。这将只是选择适当视图的一个例子

正如我所说的,如果混合中没有ajax,您就不能走部分路线,因此答案是否定的。此外,您还必须使用javascript才能在提交中使用单选按钮,在这种情况下,ajax解决方案可能值得考虑

[编辑]根据Splash-X,这里是隐藏div场景的快速升级:

@*use either @Html.RenderPartial() or @Html.RenderAction() as required*@

<div id="developerDiv" style="display: none">
    This is the developer stuff, in reality, 
    this would be populated as such @*@Html.RenderPartial("DeveloperPartial")*@
</div>
<div id="testerDiv" style="display: none">
    And here we have the testers, again, 
    this would be populated as such @*@Html.RenderPartial("TestersPartial")*@
</div>
<div>
    Developer :@Html.RadioButton("team", "developer", new { onclick = "showResult(this)"}) 
    Tester :@Html.RadioButton("team", "tester", new { onclick = "showResult(this)"})
</div>
<div id="partialContainer"></div>

<script type="text/javascript">
    function showResult(radio) {
        var selected = radio.value;
        if (selected == "developer")
            document.getElementById("partialContainer").innerHTML 
                = document.getElementById("developerDiv").innerHTML;
        else if (selected == "tester")
            document.getElementById("partialContainer").innerHTML 
                = document.getElementById("testerDiv").innerHTML;
    }
</script>
@*根据需要使用@Html.RenderPartial()或@Html.RenderAction()*@
这是开发者的东西,事实上,
这将被填充为@*@Html.RenderPartial(“DeveloperPartial”)*@
这里我们又有了测试人员,
这将被填充为@*@Html.RenderPartial(“TestersPartial”)*@
开发者:@Html.RadioButton(“团队”、“开发者”,new{onclick=“showResult(this)”})
Tester:@Html.RadioButton(“团队”、“测试者”,new{onclick=“showResult(this)”)
功能显示结果(收音机){
选择的var=无线电值;
如果(选定==“开发人员”)
document.getElementById(“partialContainer”).innerHTML
=document.getElementById(“developerDiv”).innerHTML;
否则如果(所选==“测试仪”)
document.getElementById(“partialContainer”).innerHTML
=document.getElementById(“testerDiv”).innerHTML;
}

享受..

需要更多细节。请参阅更新的答案,我认为它符合您的要求。您不需要更多细节。请参阅更新的答案,我认为它符合您的要求。您不需要JQUERI对不起,我的意思是没有Jqueryahh-好的,这略有不同,但答案保持不变:)。您可以在单选按钮onClick事件上使用javascript。没有任何“真实”的例子,因为jquery现在似乎无处不在。然而,这可能会提供一些线索:这并不完全正确。通过使用Html.Partial和Html.RenderPatial的Html帮助程序,任何视图都可以作为另一个视图的一部分呈现。您可以在一个页面上包含两个部分视图,都位于隐藏容器(如div)中,并且根据所选的值,您可以切换部分视图的可见性。Splash-好的观点(根据OP的修订问题),然后您只需使用javascript DOM函数来显示/隐藏相应的div。在回答中使用它;)我想唯一的“grolly”是不使用jquery/prototype ETCSFlash-x时的跨浏览器兼容性,我欠你的!!将在您的个人资料中漫游;)很抱歉,我的意思是没有jqueryah-好吧,这有点不同,尽管答案仍然是一样的:)。您可以在单选按钮onClick事件上使用javascript。没有任何“真实”的例子,因为jquery现在似乎无处不在。然而,这可能会提供一些线索:这并不完全正确。通过使用Html.Partial和Html.RenderPatial的Html帮助程序,任何视图都可以作为另一个视图的一部分呈现。您可以在一个页面上包含两个部分视图,都位于隐藏容器(如div)中,并且根据所选的值,您可以切换部分视图的可见性。Splash-好的观点(根据OP的修订问题),然后您只需使用javascript DOM函数来显示/隐藏相应的div。在回答中使用它;)我想唯一的“grolly”是不使用jquery/prototype ETCSFlash-x时的跨浏览器兼容性,我欠你的!!将在您的个人资料中漫游;)