我意識到這是一個常見錯誤,我在網上提供了針對此問題的許多修補程序,但尚未找到解決方案。文本框(以及其他控件) - 「對象未設置爲實例....」
我開發了一個winform應用程序,它從外部網站獲取JSON。我點擊一個按鈕控制,該應用程序通過我的json serialiser方法並將結果發佈到文本框並附加到textarea。
public void RenderData(string buttonText)
{
if (buttonText == "Start")
{
EquationData deserializedData = getData("http://test.ethorstat.com/test.ashx");
var processed = new ProcessEquation();
int result = processed.Calculate(deserializedData);
string res = deserializedData.parm1 + " " + deserializedData.op + " " + deserializedData.parm2 +
" = " + result;
TextBoxResult.Text = res;
equation.Append(" " + deserializedData.parm1 + " " + deserializedData.op + " " + deserializedData.parm2 +
" = " + result + '\n');
TextAreaResults.Value = equation.ToString();
}
}
這工作得很好,因爲它是。但是需求發生了變化,因爲應用必須每秒輪詢一次數據。因此,我創建了一個由jquery腳本調用的wcf Web服務,以便每秒運行一次。
問題是我的控件 - textbox和textboxarea - 生成{「對象引用未設置爲對象的實例。」}。我的假設是,這些控件現在沒有被加載,我從JQuery的ajax函數(?)調用方法。
$(document).ready(function() {
//while ($('#eThorButton').text != "Stop") {
if ($('#eThorButton').click) {
$.ajax({
url: 'Service/eThorService.svc/getUpdate',
method: 'get',
dataType: 'json',
success: function(){
alert("success");
},
error: function (err) {
alert(err);
}
})
//delay(1000);
}
});
當我運行它時,我的控件在intellisense中顯示,當然在Default.aspx上顯示。我怎樣才能解決這個問題?
編輯
我實例化一個新的文本框解決了「對象未設置...」的問題:
public partial class _Default : Page
{
public static StringBuilder equation = new StringBuilder();
public TextBox TextBoxTest = new TextBox();
當我調試,並通過值步驟設置,文本框呈現,但文本框是空的。我如何解決這個問題?