คำถามติดแท็ก viewstate

7
ฉันจะควบคุมมากขึ้นใน ASP.NET ได้อย่างไร?
ฉันกำลังพยายามสร้าง "ไมโครเว็บแอป" ที่เรียบง่ายมากซึ่งฉันสงสัยว่าจะเป็นที่สนใจของ Stack Overflow'rs สองสามตัวถ้าฉันทำสำเร็จ ฉันโฮสต์ไว้บน C # ของฉันในไซต์ Depth ซึ่งเป็นวานิลลา ASP.NET 3.5 (เช่นไม่ใช่ MVC) การไหลนั้นง่ายมาก: หากผู้ใช้เข้าสู่แอปด้วย URL ที่ไม่ได้ระบุพารามิเตอร์ทั้งหมด (หรือหากพารามิเตอร์ใด ๆ ไม่ถูกต้อง) ฉันต้องการเพียงแค่แสดงการควบคุมอินพุตของผู้ใช้ (มีแค่สองอัน) หากผู้ใช้เข้าสู่แอปที่มี URL ที่ไม่มีพารามิเตอร์ที่จำเป็นทั้งหมดผมต้องการที่จะแสดงผลและควบคุมการป้อนข้อมูล (เพื่อให้พวกเขาสามารถเปลี่ยนพารามิเตอร์) ความต้องการที่กำหนดขึ้นเองของฉันมีดังนี้ ฉันต้องการให้การส่งใช้ GET แทนการโพสต์ส่วนใหญ่เพื่อให้ผู้ใช้สามารถบุ๊กมาร์กหน้าได้อย่างง่ายดาย ฉันไม่ต้องการให้ URL ดูงี่เง่าหลังจากการส่งโดยมีบิตและชิ้นส่วนที่ไม่เกี่ยวข้องอยู่ โปรดระบุ URL หลักและพารามิเตอร์จริง ตามหลักการแล้วฉันต้องการหลีกเลี่ยงการใช้ JavaScript เลย ไม่มีเหตุผลที่ดีในแอปนี้ ฉันต้องการเข้าถึงตัวควบคุมในช่วงเวลาแสดงผลและตั้งค่าเป็นต้นโดยเฉพาะอย่างยิ่งฉันต้องการให้สามารถตั้งค่าเริ่มต้นของการควบคุมเป็นค่าพารามิเตอร์ที่ส่งเข้ามาหาก ASP.NET ไม่สามารถทำได้โดยอัตโนมัติ สำหรับฉัน (ภายในข้อ จำกัด อื่น …


6
ความยาวไม่ถูกต้องสำหรับอาร์เรย์ถ่าน Base-64
ตามชื่อเรื่องฉันได้รับ: ความยาวไม่ถูกต้องสำหรับอาร์เรย์ถ่าน Base-64 ฉันได้อ่านเกี่ยวกับปัญหานี้ที่นี่และดูเหมือนว่าข้อเสนอแนะคือการจัดเก็บ ViewState ใน SQL หากมีขนาดใหญ่ ฉันใช้วิซาร์ดกับการรวบรวมข้อมูลจำนวนมากดังนั้นโอกาสที่ ViewState ของฉันจะมีมาก แต่ก่อนที่ฉันจะหันไปใช้โซลูชัน "store-in-DB" อาจมีใครลองดูและบอกฉันว่าฉันมีทางเลือกอื่นหรือไม่ ฉันสร้างอีเมลสำหรับการจัดส่งโดยใช้วิธีการด้านล่าง: public void SendEmailAddressVerificationEmail(string userName, string to) { string msg = "Please click on the link below or paste it into a browser to verify your email account.<BR><BR>" + "<a href=\"" + _configuration.RootURL + "Accounts/VerifyEmail.aspx?a=" + …
93 c#  asp.net  viewstate  base64 

12
สิ่งที่ทำให้เกิด "ความยาวไม่ถูกต้องสำหรับอาร์เรย์ถ่าน Base-64"
ฉันมีน้อยมากที่จะไปที่นี่ ฉันทำซ้ำสิ่งนี้ในเครื่องไม่ได้ แต่เมื่อผู้ใช้ได้รับข้อผิดพลาดฉันได้รับการแจ้งเตือนข้อยกเว้นอีเมลอัตโนมัติ: Invalid length for a Base-64 char array. at System.Convert.FromBase64String(String s) at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) at System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) at System.Web.UI.HiddenFieldPageStatePersister.Load() ฉันมีแนวโน้มที่จะคิดว่ามีปัญหากับข้อมูลที่ถูกกำหนดให้กับ viewstate ตัวอย่างเช่น: List<int> SelectedActionIDList = GetSelectedActionIDList(); ViewState["_SelectedActionIDList"] = SelectedActionIDList; เป็นการยากที่จะคาดเดาแหล่งที่มาของข้อผิดพลาดโดยที่ไม่สามารถสร้างข้อผิดพลาดซ้ำในเครื่องได้ หากใครเคยมีประสบการณ์เกี่ยวกับข้อผิดพลาดนี้ฉันอยากจะรู้ว่าคุณพบอะไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.