2015-09-21 67 views
0

我有一個包含數字的HTML跨度。當元素不runat =「server」時,在C#中獲取HTML內部HTML

跨度有其價值由一些JavaScript設定,所以不runat="server"

我現在需要得到包含在這個跨度值,並將其存儲在一個C#字符串。

這證明比預期的更困難。

我能夠獲得通過執行以下操作將此值顯示一個對話框:

ClientScript.RegisterStartupScript(GetType(), "IR", "setTimeout(function(){alert(document.getElementById(\"LoanInterestRate\").innerHTML);}, 3000)", true); 

,但我看不出這個值恢復到C#代碼。

我知道這是因爲ClientScript.RegisterStartupScript返回一個void,但有沒有一種方法來設置這個返回值?

或者有另一種獲取HTML元素的方法。

我知道我可以使用隱藏的服務器端div,但這並不真正適合我的目的。

我需要一種方法來使用C#獲取HTML跨度的值。

任何想法,我一直在嘗試一段時間,沒有得到任何地方,我認爲這是一個有用的事情。

+0

您是否需要此值之前,它會發送到客戶端或者是確定的,如果客戶端發回? – LGSon

+0

經過一段時間的思考,您是否有設置此值的javascript的控制權? ..它不是從你的網絡服務器? ......這個價值是如何創造出來的? – LGSon

回答

1

如果不進行完整回發到服務器,則無法創建「真實」runat=server元素/控件。

最好的方法可能是在提交頁面之前編寫一些將innerHTML存儲到ASP.Net隱藏字段中的腳本。

0

爲什麼不使用會話或cookie。您可以在java腳本中設置會話值並在後面的代碼中訪問它。

this鏈接,例如