我继续研究一个我还不完全了解的项目。我遇到了以下代码行:
<iframe id="AddDialog" style ="overflow: hidden; width:1150px; height:450px;" class="Dialogframe" scrolling="no" srcwait=@Html.Raw("'" + Url.Action("Index", "FieldChooser") + "'") srctarget=@Html.Raw("\"" + Url.Action("Index", "FieldChooser", new { ColumnFormat = false, resultmodel = Guid.Empty, datatype = "", multiselect=false }) + "\"") src=@Html.Raw("\"" + Url.Action("Loading", "FieldChooser") + "\"")></iframe>
Visual Studio告诉我srcwait和srctarget不是有效的HTML5元素,但它似乎有效。加载视图显示几秒钟,然后执行Index()方法(在srctarget中调用的方法)。
我也无法在互联网上找到有关srctarget和srcwait属性的任何内容。那么src,srctarget和srcwait之间有什么区别?他们甚至存在,还是在我面前发挥作用的人的一些发明?
我在FieldChooserController中有一个函数
[HttpPost]
public ActionResult Index(string id)
{
...
}
我希望在单击“确定”按钮时调用它。我假设srcwait部分是为了那个,因为调用看起来像那样,但函数永远不会被调用。
请耐心告诉我,如果您需要查看更多代码,此时我不知道什么是重要的。
buttons: {
OK: function() {
//Save selected Value
$( this ).dialog( "close" );
if (GlobalName !=''){
addwhere(GlobalName,opts.sourceel,GlobalDefVal,GlobalDataType,GlobalValue);
}
$('#AddDialog').attr('src', $('#AddDialog').attr('srcwait'));
},
Cancel: function() {
$( this ).dialog( "close" );
$('#AddDialog').attr('src', $('#AddDialog').attr('srcwait'));
}
}
答案 0 :(得分:2)
很可能正在运行一段JavaScript,当执行操作时用户将等待一个诡计,例如显示加载屏幕时,会将src
设置为srcwait
。
至于您的代码,如果您希望在点击按钮时调用HttpPost
带注释的Index()
方法,则必须创建一个表单并将其发布到那里:
@using (Html.BeginForm("Index", "FieldChooser", FormMethod.Post)
{
<input value="OK" type="submit" />
}