Bazı durumlarda, görünümde bir durumun kalıcı olması gereken bir kullanıcı denetimi var. Bir geri gönderme olduğunda, görünümdeki girdiler boş olarak ayarlanır.UserControl Viewstate, geri gönderildikten sonra tüm değerleri kaybeder
Sayfa
Kullanıcı Kontrol ben sayfayı yüklemek<%@ Control Language="C#" ClassName="JournalRankRadioButton" %>
<script runat="server">
public String Test
{
get
{
if (ViewState["Test"] == null)
{
ViewState["Test"] = String.Empty;
}
return ViewState["Test"].ToString();
}
set
{
ViewState["Test"] = value;
}
}
public void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.Test = "Test";
}
}
</script>
<asp:CheckBox runat="server" AutoPostBack="true" />
ViewState [ "Test"] için "Deneme", ama onay kutusunu işaretleyin zaman, sayfa yapar atanır
<%@ Page Title="" Language="C#" MasterPageFile="~/Main.master" %>
<%@ Register TagPrefix="JR" TagName="JournalRanking" Src="~/Controls/JournalRankRadioButton.ascx" %>
<script runat="server">
</script>
<asp:Content ID="Content3" ContentPlaceHolderID="Content1placeholder" Runat="Server">
<asp:Panel CssClass="insetBG1" ID="FormView1" runat="server">
<JR:JournalRanking ID="JournalRanking1" runat="server" ViewStateMode="Inherit" />
</asp:Panel>
</asp:Content>
Bir geri gönderme ve ViewState ["Test"] tekrar boştur. Neyi kaçırıyorum? Ben sayfa ve kontrol EnableViewState içinde EnableViewState = true ayarı olsa bile Yani -Update-
, ana sayfasında yanlış oldu. Ben işe gitmek için Kontrol için
this.Page.Master.EnableViewState = true;
eklemek zorunda kaldı.
Yardımın için teşekkürler!
Hangi onay kutusu? Ve ViewState'in değerini nerede kontrol ediyorsunuz? Lütfen daha fazla kod ekleyin – nmat
Bu onay kutusu (Postback'i tetiklemek için orada jus var) ve ViewState'i geri gönderimdeki Page_Load yöntemindeki hata ayıklayıcısında kontrol ediyorum. –
user467384