2011-07-31 45 views
0

我想在我的文本框中存儲一些隱藏的數據。有沒有像CommandArgument這樣的按鈕來存儲我的數據?文本框位於網格視圖中的模板字段中,並且我將這些數據以文本形式更改爲每個事件。如何在文本框「屬性」中存儲隱藏號碼

編輯:

TabIndex='<%#((GridViewRow)Container).RowIndex%>' 

protected void txt_evaluateWeights_TextChanged(object sender, EventArgs e) 
     { 
      calc(); 
      int index = ((RadTextBox)sender).TabIndex; 
      ((RadTextBox)gv_Evaluation.Rows[index + 1].Cells[3].FindControl("txt_evaluateWeights")).Focus(); 
     } 

我想了一個方便的屬性來保存我的索引來代替TabIndex

回答

1

我建議您使用HTML5「data-」屬性。然後你可以很容易地使用jquery提取它。

<textarea name="MyTextArea" data-arbitraryName="HIDDEN TEXT" cols="40" rows="5"> 
    Enter your comments here... 
</textarea> 

<input type="text" name="MyInput" data-arbitraryName="HIDDEN VALUE" /> 

然後你就會像這樣

$("textarea").data("arbitraryName") === "HIDDEN TEXT"; 
$("input").data("arbitraryName") === "HIDDEN VALUE"; 

所以現在用ASP.NET Web窗體控件提取它,你可以在你的代碼隱藏的arbirtaryName添加到您的RadTextBox

var foo = "HIDDEN TEXT"; 
RadTextBox1.Attributes.Add("arbirtaryName", foo); 

這裏的一些進一步閱讀
http://ejohn.org/blog/html-5-data-attributes/
http://api.jquery.com/data/

+0

謝謝,但我不明白它。我不需要'textarea'或'input type =「text」'在頁面中顯示。你能解釋更多請通過我的asp.net代碼。 –

+1

你可以在任何html元素上添加一個'data'屬性'(鍵/值對)。所以你應該有''然後你可以使用jQuery或CodeBehind從輸入中推斷** 555 **並搜索'ColumnID' –

2

您可以在Hidden Field控件中存儲這樣的值,因爲textbox沒有任何此類屬性來存儲此類值。

+0

嗯,但我想在我的情況下的文本框:)。 –

+1

你能否提供一些細節,可能我可以給你任何其他的想法,它怎麼做。 –

+0

,因爲我在文本更改事件中獲取了值。我想用其他properety.in替換'tabindex'屬性在這個鏈接: http://stackoverflow.com/questions/6748625/how-to-keep-focus-on-the-text-box-after-text-更改事件/ 6840619#6840619 –

1

你cnanot直接做到這一點,但使用隱藏文本框將使您能夠將數據存儲在文本框旁邊。小心一點,你應該能夠識別隱藏的控件,並在textboxchanged方法中提取相關的數字。

或者,如果您提供更多詳細信息,可能有其他方法可以實現您的目標。

+0

我想要替換'thetabindex'財產與其他properety舉行索引,因爲選項卡索引使一些probelms.in此鏈接:http://stackoverflow.com/questions/6748625/how-to-keep-focus-on-the-text-box-after -text-changed-event/6840619#6840619 –

+0

1.想不是一個字。 2.不要嘗試重新調整現有屬性。幾乎總是會導致問題。 –

+0

然後如何解決這個問題。 –

1
YourAttributeName='<%#((GridViewRow)Container).RowIndex%>' 


protected void txt_evaluateWeights_TextChanged(object sender, EventArgs e) 
     { 
      calc(); 
      int index = ((RadTextBox)sender).Attribute["YourAttributeName"]; 
      ((RadTextBox)gv_Evaluation.Rows[index + 1].Cells[3].FindControl("txt_evaluateWeights")).Focus(); 
     }