FormView#加载被覆盖C#ASP.NET

FormView#加载被覆盖C#ASP.NET,c#,asp.net,events,formview,C#,Asp.net,Events,Formview,我有一个formview,其加载事件刚刚决定停止工作。我做了一些调试,并注意到它正在到达代码,但无论出于何种原因,我在load事件中添加的属性不再显示在屏幕上。这就好像在formview的load事件之后发生了什么事情,在没有任何额外属性的情况下重新加载它。在它停止工作之前,我所做的唯一修改是在它之前的页面中添加了一个会话变量。这不应该引起如此剧烈的变化 这是我的密码: protected void FormView1_Load(object sender, EventArgs e) {

我有一个formview,其加载事件刚刚决定停止工作。我做了一些调试,并注意到它正在到达代码,但无论出于何种原因,我在load事件中添加的属性不再显示在屏幕上。这就好像在formview的load事件之后发生了什么事情,在没有任何额外属性的情况下重新加载它。在它停止工作之前,我所做的唯一修改是在它之前的页面中添加了一个会话变量。这不应该引起如此剧烈的变化

这是我的密码:

    protected void FormView1_Load(object sender, EventArgs e)
{
    RadioButton rbinjury = (RadioButton)FormView1.FindControl("rbinjury");
    RadioButton rbproperty = (RadioButton)FormView1.FindControl("rbproperty");
    RadioButton rbboth = (RadioButton)FormView1.FindControl("rbboth");
    RadioButton rbyes = (RadioButton)FormView1.FindControl("rbyes");
    RadioButton rbno = (RadioButton)FormView1.FindControl("rbno");
    RadioButton rbyes2 = (RadioButton)FormView1.FindControl("rbyes2");
    RadioButton rbno2 = (RadioButton)FormView1.FindControl("rbno2");
    RadioButton rbam = (RadioButton)FormView1.FindControl("rbam");
    RadioButton rbpm = (RadioButton)FormView1.FindControl("rbpm");

    TextBox txtdate = (TextBox)FormView1.FindControl("txtdate");
    DropDownList ddlhour = (DropDownList)FormView1.FindControl("ddlhour");
    DropDownList ddltime = (DropDownList)FormView1.FindControl("ddltime");
    if (FormView1.CurrentMode == FormViewMode.Insert || FormView1.CurrentMode == FormViewMode.Edit)
    {
        txtdate.Attributes.Add("onfocus", "unfocus();");
        locList.Attributes.Add("onChange", "postBack();");
        ddlhour.Items.Insert(0, new ListItem("Hour", "0"));
        ddlhour.Items.Insert(1, new ListItem("12", "12"));
        ddltime.Items.Insert(0, new ListItem("Minute", "0"));
        for (int i = 1; i < 12; i++)
        {
            String hour = Convert.ToString(i);
            ddlhour.Items.Add(new ListItem(hour, hour));
        }

        for (int i = 0; i < 61; i++)
        {
            String time = "";
            if (i < 10)
            {
                time = ":0" + Convert.ToString(i);
            }
            else
            {
                time = ":" + Convert.ToString(i);
            }
            ddltime.Items.Add(new ListItem(time, time));
        }
        //-----------------------------------------handle radio buttons----------------------------------------------------------------
        rbinjury.Attributes.Add("Onclick", "radio('rbinjury','result');");
        rbproperty.Attributes.Add("Onclick", "radio('rbproperty','result');");
        rbboth.Attributes.Add("Onclick", "radio('rbboth','result');");

        rbyes.Attributes.Add("Onclick", "radio('rbyes','inj');");
        rbno.Attributes.Add("Onclick", "radio('rbno','inj');");

        rbyes2.Attributes.Add("Onclick", "radio('rbyes2','dmg');");
        rbno2.Attributes.Add("Onclick", "radio('rbno2','dmg');");

        rbam.Attributes.Add("Onclick", "radio('rbam','time');");
        rbpm.Attributes.Add("Onclick", "radio('rbpm','time');");
    }}
protectedvoid FormView1\u加载(对象发送方,事件参数e)
{
RadioButton rbinjury=(RadioButton)FormView1.FindControl(“rbinjury”);
RadioButton rbproperty=(RadioButton)FormView1.FindControl(“rbproperty”);
RadioButton rbboth=(RadioButton)FormView1.FindControl(“rbboth”);
RadioButton rbyes=(RadioButton)FormView1.FindControl(“rbyes”);
RadioButton rbno=(RadioButton)FormView1.FindControl(“rbno”);
RadioButton rbyes2=(RadioButton)FormView1.FindControl(“rbyes2”);
RadioButton rbno2=(RadioButton)FormView1.FindControl(“rbno2”);
RadioButton rbam=(RadioButton)FormView1.FindControl(“rbam”);
RadioButton rbpm=(RadioButton)FormView1.FindControl(“rbpm”);
TextBox txtdate=(TextBox)FormView1.FindControl(“txtdate”);
DropDownList ddlhour=(DropDownList)FormView1.FindControl(“ddlhour”);
DropDownList ddltime=(DropDownList)FormView1.FindControl(“ddltime”);
如果(FormView1.CurrentMode==FormViewMode.Insert | | FormView1.CurrentMode==FormViewMode.Edit)
{
Add(“onfocus”,“unfocus();”;
Add(“onChange”,“postBack();”;
插入(0,新列表项(“小时”,“0”));
插入(1,新列表项(“12”,“12”));
ddltime.Items.Insert(0,新列表项(“分钟”,“0”));
对于(int i=1;i<12;i++)
{
字符串小时=Convert.ToString(i);
ddlhour.Items.Add(新列表项(hour,hour));
}
对于(int i=0;i<61;i++)
{
字符串时间=”;
如果(i<10)
{
time=“:0”+转换为字符串(i);
}
其他的
{
time=“:”+转换为字符串(i);
}
ddltime.Items.Add(newlistItem(time,time));
}
//-----------------------------------------手柄单选按钮----------------------------------------------------------------
Add(“Onclick”,“radio('rbinjury','result');”;
添加(“Onclick”,“radio('rbproperty','result');”;
Add(“Onclick”,“radio('rbboth','result');”;
添加(“Onclick”,“radio('rbyes','inj');”;
添加(“Onclick”,“radio('rbno','inj');”;
添加(“Onclick”,“radio('rbyes2','dmg');”;
添加(“Onclick”,“radio('rbno2','dmg');”;
Add(“Onclick”,“radio('rbam','time');”;
添加(“Onclick”,“radio('rbpm','time');”;
}}

知道什么会导致加载事件停止工作吗?如果我将相同的代码放在页面的“保存状态完成”事件中,它确实可以工作,但我不必…

您需要使用formview数据绑定事件而不是formview加载事件来设置值,请重试 用这个

 protected void frm_DataBound(object sender, EventArgs e) 
{
    if (frm.CurrentMode == FormViewMode.Edit) 
    {
      TextBox txtdate = (TextBox)frm.FindControl("txtdate");
      txtdate.Attributes.Add("", "");
    } 
}
还要检查这些线程。