前:
后: protected void btnSubmit_Click(object sender, EventArgs e)
{
if (Session["userName"] == null)
{
Response.Write("<script language=javascript>alert('请登录!');</script>");
//LabMsg.Text = "请先登录!";
}
else
{}
}当用户未登录时,弹出一个对话框“请登录!”,点击确定后,页面布局就改变了,如上图所示。请教高手这是什么原因?用什么方法可以解决这种问题,同样要弹出提示窗口。(如果在Label中输出,布局不会改变)
后: protected void btnSubmit_Click(object sender, EventArgs e)
{
if (Session["userName"] == null)
{
Response.Write("<script language=javascript>alert('请登录!');</script>");
//LabMsg.Text = "请先登录!";
}
else
{}
}当用户未登录时,弹出一个对话框“请登录!”,点击确定后,页面布局就改变了,如上图所示。请教高手这是什么原因?用什么方法可以解决这种问题,同样要弹出提示窗口。(如果在Label中输出,布局不会改变)
这玩意导致的吧你可以在按钮上用JS去alert return false 更好些。
这句导致的。<asp:Button ID="btnSubmit" runat="server" Text="提交"
onclick="btnSubmit_Click"/> 在按钮上如何用JS去alert return false 呢?
OnClientClick="JScode;return true or false;"
return true会执行OnClick后的后台程序,return false不会
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "errorlogin", "<script>alert('请先登录!')</script>");
这是返回上一步。 我之前也遇到过你这样的问题。用这个方法可以解决。记得给分啊。。
谢谢,这个可以的。 protected void datalist1_ItemCommand(object source, DataListCommandEventArgs e)
{
int id = Convert.ToInt32(datalist1.DataKeys[e.Item.ItemIndex].ToString());
Response.Write("<script language=javascript>window.open('articleDetails.aspx?i=" + id + "')</script>");
}这个也是那个问题,点击文章标题重新打开一个窗口后,原先那个页面布局也会改变,这个该怎么解决呢?
{
int id = Convert.ToInt32(datalist1.DataKeys[e.Item.ItemIndex].ToString());
Response.Write("<script language=javascript>window.open('articleDetails.aspx?i=" + id + "')</script>");
}
这个也是那个问题,点击文章标题重新打开一个窗口后,原先那个页面布局也会改变,这个该怎么解决呢?谢谢!
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "errorlogin", "<script language=javascript>window.open('articleDetails.aspx?i=" + id + "')</script>");类似吧?
就是用
this.ClientScript.RegisterClientScriptBlock代替Response.Write输出JS代码
一般情况下,不要用response.write,而是用专门的方法
RegisterStartupScript RegisterClientScriptBlock