1、网页开始布局很好,按了某个按钮,布局就会乱。比如textbox变高,table变形等。
这个很可能是button onclick 调用了response.write 这个,调用脚本返回一个弹出框。
可以用下面这个函数代替response.write
private void showalert(string str)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Cscript ", " <script for=window event=onload> window.alert('" + str + "'); </script> ");
}
2、gridview 里面获取单元格里面的值。很独特。获取很多次,都是空。后来把单元格换成label就可得到值。
<asp:GridView ID="GridView1" OnSelectedIndexChanging="GridView1_SelectedIndexChanging" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="LabelVal" runat="server" Text='<%# Eval("name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Labelpwd" runat="server" Text='<%# Eval("pwd") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowSelectButton="true" />
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
if(Page.IsCallback==false)
{
DataTable dt = new DataTable();
dt.Columns.Add( new DataColumn( "name", typeof( string )));
dt.Columns.Add( new DataColumn( "pwd", typeof(string)));
for (int j=0;j<5;j++)
{
DataRow row = dt.NewRow();
row["name"] = "test" + j.ToString();
row["pwd"]="123";
dt.Rows.Add(row);
}
GridView1.DataSource=dt;
GridView1.DataBind();
}
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
GridView1.SelectedIndex = e.NewSelectedIndex;
var Label = (Label)this.GridView1.Rows[GridView1.SelectedIndex].FindControl("LabelVal");
Label1.Text = Label.Text;
}