2015-07-28 60 views
-6

我有兩個文本框。一個文本框用於輸入,另一個用於輸出。當通過按鈕點擊在第一個文本框中輸入數字時,我想通過單擊方形按鈕在第二個文本框中找到該數字的平方。但我無法獲得理想的結果。單擊方形按鈕時,第二個文本框中不會顯示任何內容。 下面是代碼片段:如何計算數字的平方?

@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(); 
} 

注:我只提供這是解決問題所需的代碼。

+2

您的標題有點令人誤解,您的第二個片段顯示您知道如何計算數字的平方。設置斷點是否顯示正確的值? – Sayse

+2

請修復此問題的標題。你顯然知道如何計算一個數字的平方,你遇到的問題是顯示一個數字。 –

+0

您是否返回模型以再次查看? –

回答

0

我懷疑你遇到的問題與你有兩個文本框(textBox和textBox1)有關,並且都是隻讀的。沒有什麼可以改變的,所以也許控制器根本就沒有發射?

我也擔心你的控制器實現沒有正確連接。您提供的代碼太少,無法確認回傳處理的主要故障點。

1

使用客戶端腳本輕鬆

$('#btntwo').click(function (e) { 
var num = parseInt($('#textBox').val()); 
$('#textBox1').val(num*num); 
return false; 
}); 

做,如果你想繼續在服務器端,你必須刪除@ReadOnly =
「只讀」。

+0

我知道它在客戶端更容易一點。但我想在服務器端做。因爲我爲算術操作完成了完整的工作。所以任何人都可以幫我解決這個問題。 – adeel

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從您的觀看頁面。