使用razor变量

时间:2016-09-16 09:46:14

标签: javascript asp.net-mvc razor

@{
    Layout = null;             
    string something = "";            
}

<head>   
    <script type="text/javascript">
        function VName(vwname) {
            if (vwname == "Dialog") {
                @ViewBag.viewname="Dialog"; 
            }
            else {
                @ViewBag.viewname="Fields";
            }

            @{something = ViewBag.viewname;}

            return @something;
        } 
    </script>
</head>
<body>
    <a href="#modal-two" class="btn" onclick="@something= VName('')" >Modal!3</a>             
    <div class="modal" id="modal-two" aria-hidden="true"  >
        <div id="md1" class=" modal-dialog "   style=" width:650px; height :500px;  "> <input type="button" id="PostID" /> @something
            <iframe src='@Url.Action(something, "Treeview")'  frameBorder="0" style=" height:100%; width:100% ;"   ></iframe>
            <a id="nice"  href="#modal-one" class="btn" style=" visibility:hidden">Nice!</a>   
        </div>
    </div>
</body> 

我正在尝试动态更新iframe src中的Url.Action,但是razor变量@someting正在javascript中更新,但没有反映在Url.Action中。 ViewData

也发生了同样的事情

有没有其他方法可以做到这一点或其他什么来尝试相同。

1 个答案:

答案 0 :(得分:0)

为什么不更新iframe src 属性而不仅仅是操作:

将id =“myIframe”或任何内容提供给iframe然后

var newSrc='@Url.Action(something, "Treeview")';
$("#myIframe").attr("src",newSrc);