我有一个表格可以输入数据,然后对其进行计算并给出答案。我想要做的是让它将数据保存在表单中,以便您可以快速重新发布,这样您就不必更改所有数据。但我不能继续提出它不存在的错误,我认为这是正确的,直到表格发布!
@{
var total = 0m;
var totalMessage = "";
if (IsPost)
{
var age = Request["frmage"].AsInt(0);
var weight = Request["frmweight"].AsDecimal();
var SerCre = Request["frmSerCre"].AsDecimal();
var sexfactor = Request["frmGender"]== "M" ? 1.23m : 1.04m;
total =Convert.ToDecimal ((((140 - age)*weight)* sexfactor )/SerCre ) ;
totalMessage = total.ToString("0.00") + "(ml/min) ";
}
}
<div class="memberRegistration">
<form method="post">
<p>
<label class="formLabel">Age:</label> in years
<input class="formTextField" type="text" name="frmAge" size="3" value="@age"/>
</p>
<p>
<label class="formLabel">Weight:</label> in Kg (1st = 6.35kg)
<input class="formTextField" type="text" name="frmWeight" value="@weight"/>
</p>
<p>
<label class="formLabel">Serum Creatinine:</label> in μmol/L
<input class="formTextField" type="text" name="frmSerCre" value="@SerCre"/>
</p>
<p>
<label class="fieldLabel">Gender:</label>
<select name="frmGender" id="select" value="@sexfactor">
<option value="M">Male</option>
<option value="F">Female</option>
</select>
</p>
<p><input type="submit" value="Calculate" /></p>
</form>
<p>Calculated creatinine clearance <b>@totalMessage</b></p>
</div>
答案 0 :(得分:1)
试试这个
var age = 0;
if (IsPost)
{
age = Request["frmage"].AsInt(0);
}
<input class="formTextField" type="text" name="frmAge" size="3" value="@age"/>
但通常最好使用模型来保存您的值,然后在您的控制器中将这些值再次传递回您的表单
答案 1 :(得分:0)
启用页面和控件的ViewState,并使用aspx控件,而不是HTML。
答案 2 :(得分:0)
我不认为我真的理解这个问题,因为默认的是网页保持了它的视图状态,因此在回发后数据仍然是相同的,但这是解决方案:
你可以简单地使用ASP控件,因为它保持了它的视图状态 或者你可以在C#中给它们每个控制它的值,你可以为每个控件分配它的值
希望我帮助
答案 3 :(得分:0)
由于您使用的是ASP.NET MVC Razor,您可以做的是,不要使用<input type="submit" value="Calculate" />
提交表单,而是将其更改为一个简单的按钮,如
<input type="button" value="Calculate" onclick="javascript:Submitform();" />
使用Jquery POST.e.g提交表单。如下所示
function SubmitForm(){
var formData = $("form").serialize() ;
var submitUrl = 'yourURL' ;
$.ajax({
type : 'POST' ,
url : submitUrl ,
data : formData ,
success : function (data ){ alert ("Request successful") ;}
error : function (jqXHR, status , errorthrown) { alert ("error Occured");}
});
}