के माध्यम से मैं जावास्क्रिप्ट क्लाइंट-साइड के माध्यम से टेक्स्टबॉक्स का मान सेट कर रहा हूं। जब मैं पृष्ठ को रीफ्रेश करता हूं तो मान खो जाता है।एएसपी.NET टेक्स्टबॉक्स पोस्टबैक के बाद मूल्य खो रहा है जब मूल्य बदल जाता है क्लाइंट-साइड जावास्क्रिप्ट
टेक्स्टबॉक्स अक्षम नहीं है या केवल पढ़ने के लिए सेट है।
मैंने मूल्य को छिपे हुए क्षेत्र में रखने के लिए सुझाव पढ़े हैं, मैं ऐसा नहीं करना चाहूंगा। यह एक हैक की तरह लगता है।
पाठ बॉक्स जैसे जब कोई उपयोगकर्ता नियंत्रण में है:
<div id="Row" class="RaidRow" runat="server">
<asp:Button ID="RaidRowButton" runat="server" CssClass="RaidRowButton" OnClick="RaidRowButton_Click" />
<asp:TextBox ID="CharacterNameTextBox" runat="server" CssClass="RaidRowControl SlotTextBox" MaxLength="12" />
<asp:Label ID="ClassNameLabel" runat="server" CssClass="RaidRowControl ClassLabel" />
</div>
यह नियंत्रण .aspx पृष्ठ पर है।
उपयोगकर्ता पाठ बॉक्स डबल क्लिक करता है, प्रेस जबकि पाठ बॉक्स ध्यान केंद्रित किया, या पाठ में परिवर्तन दर्ज करें, निम्न JavaScript समारोह कहा जाता है:
function VerifyCharacter(slotNumber, event)
{
var enterWasPressed = false;
if (event && event.which == 13)
{
enterWasPressed = true;
}
else if (window.event && window.event.keyCode == 13)
{
enterWasPressed = true;
}
if (event == null || enterWasPressed)
{
var realmName = 'Lightninghoof';
var characterNameTextBox = GetCharacterNameTextBox(slotNumber);
characterNameTextBox.style.color = '#CCCCCC';
var classLabel = GetClassNameLabel(slotNumber);
classLabel.style.color = '#CCCCCC';
classLabel.innerHTML = 'Unknown';
WoW_Stats.CharacterInformation.GetCharacterInformation(realmName, characterNameTextBox.value, slotNumber, GetCharacterInformation_Success, GetCharacterInformation_Failed);
}
}
एक बार वेब सेवा कॉल पूरा, है निम्नलिखित जावास्क्रिप्ट समारोह कहा जाता है:
function GetCharacterInformation_Success(characterInformationResult)
{
var characterInfo = Sys.Serialization.JavaScriptSerializer.deserialize(characterInformationResult, true);
var classLabel = GetClassNameLabel(characterInfo.SlotNumber);
classLabel.style.color = characterInfo.ClassColor;
classLabel.innerHTML = characterInfo.ClassName;
var characterNameTextBox = GetCharacterNameTextBox(characterInfo.SlotNumber);
characterNameTextBox.style.color = characterInfo.ClassColor;
}
केवल समस्या यह है कि जब मैं पृष्ठ को रीफ्रेश, CharacterNameTextBox और ClassNameLabel में पाठ है, जो जावास्क्रिप्ट के माध्यम से क्लाइंट साइड स्थापित किए गए थे, खो रहे हैं।
मैं कैसे सुनिश्चित कर सकता हूं कि नियंत्रण पोस्टबैक के बीच अपना मूल्य बनाए रखे?
क्या यह या <इनपुट प्रकार = "टेक्स्ट"> है? क्या आपके पास runat = "server" विशेषता है? –