我有两个文本框。一个文本框用于输入,另一个用于输出。当按钮点击在第一个文本框中输入数字时,我想通过单击方形按钮在第二个文本框中找到该数字的正方形。但我无法得到理想的结果。单击“方形”按钮时,第二个文本框中不显示任何内容。 这是代码段:
@Html.TextBoxFor(model => model.textBox, new { @readonly = "readonly" })
<br/>
@Html.TextBoxFor(model => model.textBox1, new { @readonly = "readonly" })
<input name="button" type="submit" id="btntwo" value="2" />
<input name="button" type="submit" id="btnthree" value="3" />
<input name="button" type="submit" id="btnfour" value="4" />
<input name="button" type="submit" id="btnSqr" value="Sqr" />
以下是控制器的代码段:
if (button == "Sqr")
{
model.value1 = model.textBox;
model.textBox1 = (float.Parse(model.value1) * float.Parse(model.value1)).ToString();
}
注意:我只提供了解决问题所需的代码。
答案 0 :(得分:4)
以下是我对您正在做的事情的假设“如果您使用服务器端解决方案”
public ActionResult FindSquare()
{
SquareModel model = new SquareModel(); // model contains textbox, textbox1
return View(model);
}
当您在按钮上提交表单时单击
public ActionResult FindSquare(SquareModel model, FormCollection collection)
{
if(!string.IsNullOrEmpty(collection["button"]) && collection["button"].ToString() == "Sqr")
{
double value = Convert.ToDouble(model.textBox);
var result = value * value;
model.textBox1 = Convert.ToString(result);
return View(model);
}
}
编辑: 从您的视图页面中删除removeonly。
答案 1 :(得分:1)
使用客户端脚本轻松完成
$('#btntwo').click(function (e) {
var num = parseInt($('#textBox').val());
$('#textBox1').val(num*num);
return false;
});
如果要继续在服务器端,则必须删除@readonly =
“只读”。
答案 2 :(得分:0)
我怀疑你遇到的问题与你有两个文本框(textBox和textBox1)有关,而且两者都是只读的。没有什么可以改变,所以也许控制器根本没有发射?
我还担心你的控制器实现没有正确接线。您提供的代码太少,无法验证主要故障点的回发处理不是原因。