终于实现了所需的功能。
我就是这样做的
查看(从哪里拨打电话)
<input type="submit" value="Create" />
@using (Ajax.BeginForm("Edit", "Home", new AjaxOptions {OnSuccess="DisableControls()",
InsertionMode= InsertionMode.Replace,UpdateTargetId="DivToUpdate" }))
控制器
[HttpPost]
public ActionResult Edit(FormCollection fc)
{
if (fc.Keys[0].ToString().TrimEnd() == "Display")
{
TempData["readonly"] = "readonly";
}
else
TempData["readonly"] = "";
被调用的部分视图
@model TestApp.Models.CUSTOMER
@{
ViewBag.Title = "Edit";
}
<script>
function s() {
var readonly="@TempData["readonly"].ToString()";
if(readonly=="readonly")
{
$('input[type="text"],select').attr('readonly','readonly');
$("#Save").remove();
}
}
</script>
<h2 style="padding: 0px; margin-top: 0px;">
Edit</h2>
@using (Html.BeginForm("Save", "Home"))
{
@Html.ValidationSummary()
<fieldset>
<legend>CUSTOMER</legend>
<table style="margin: 0px auto;">
<tr>
<td>
现在在诊断上一次失败尝试的原因时,我alert()
在脚本中写了一个以查看脚本是否正在执行。
<script>
function s() {
var readonly="@TempData["readonly"].ToString()";var s="hi"+ prompt("name","");
alert(s);
if(readonly=="readonly")
{ //To make all text boxes and dropdown readonly
$('input[type="text"],select').attr('readonly','readonly');
$("#Save").remove();//To Remove the save button
}
}
</script>
在进一步查找萤火虫时,我可以看到响应包含脚本
<script>
function s() {
var readonly="readonly";var s="hi"+ prompt("sdfs","kakaji");
alert(s );
if(readonly=="readonly")
{
$('input[type="text"],select').attr('readonly','readonly');
$("#Save").remove();
}
}
</script>
<form action="/Grid/Save" method="post"><div class="validation-summary-valid" data-valmsg-summary="true">
<ul><li style="display:none"></li></ul>
</div>
<fieldset>
<legend>CUSTOMER</legend>
<table style="margin: 0px auto;">
<tr>
<td>
<div class="editor-label">
但是发现生成的页面不包含我在这里找到原因的脚本
因此,这解决了我的问题,并给了我一个原因,即为什么我无法从 Ajax 响应中看到或观看我的脚本标签。