大家帮小弟我看一下这个有关问题如何解决,先多谢了
大家帮我看一下这个问题怎么解决,先谢谢了
我描述一下我的问题:
做了个网站,在masterpage上其中有2个链接,其中一个普通的文本链接是用户注册页面,里面其中有一个方法是给注册用户发邮件的,发邮件的本身测试正常。另一个是linkbutton,连接到用户登陆界面,这个用户登陆界面我用linkbutton主要是我为了在后台写几句代码,来判断用户是否登陆已经登陆了,如果用户已经登陆过了,就弹出窗口告诉用户你已经登陆过了,否则就转到登陆页面,这部分的代码页运行完全正常。
用户注册页面的代码如下:
linkbutton的代码如下:
问题是当我从用户注册页面点击那个登陆界面的linkbutton的时候,就报错。说我这行代码的参数不能为空
我猜它已经postback了吧,执行了saveRegistration这个方法。而这时我的用户注册信息都为空就报错了。
但是之前我没有用linkbutton的时候什么问题都没有,切换页面没问题。
而且不明白它为什么会postback,因为我在javascript里面写的只有当所有用户注册填写正确,form才会submit。
我该怎么修改猜不让他报错啊,最好详细一些。。。谢谢!!
是不是得用ajax之类的东西,ajax是一定也不会。
------解决方案--------------------
你不是在写Session["name"]吗?
它是空的,就说没有没有登录,反之就是登录了。
在masterpage的page_load事件中判断:
我描述一下我的问题:
做了个网站,在masterpage上其中有2个链接,其中一个普通的文本链接是用户注册页面,里面其中有一个方法是给注册用户发邮件的,发邮件的本身测试正常。另一个是linkbutton,连接到用户登陆界面,这个用户登陆界面我用linkbutton主要是我为了在后台写几句代码,来判断用户是否登陆已经登陆了,如果用户已经登陆过了,就弹出窗口告诉用户你已经登陆过了,否则就转到登陆页面,这部分的代码页运行完全正常。
用户注册页面的代码如下:
public partial class registrationForm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["name"] != null)
{
((Label)Master.FindControl("Label1")).Text = Session["name"] as string;
}
if (this.IsPostBack)
{
SaveRegistration();
}
}
private void SaveRegistration()
{
#region
sendEmail(".......@gmail.com", userEmail, name, pwd);
myConnection.Close();
}
private void sendEmail(string sender, string reciever, string recieverName, string passWord)
{
MailAddress send = new MailAddress(sender);
MailAddress recieve = new MailAddress(reciever);
MailMessage message = new MailMessage(send, recieve);
#region
}
}
linkbutton的代码如下:
protected void LinkButton1_Click(object sender, EventArgs e)
{
if (Session["name"] == null)
{
Response.Redirect("CustomerLogin.aspx");
}
else if (Session["name"] != null)
{
string temp = Session["name"] as string;
MessageBox("you are currently logged in as " + temp);
}
}
private void MessageBox(string message)
{
Label lbl = new Label();
lbl.Text = "<script type='text/javascript'>" + Environment.NewLine + " window.alert('" + message + "')</script>";
Page.Controls.Add(lbl);
}
问题是当我从用户注册页面点击那个登陆界面的linkbutton的时候,就报错。说我这行代码的参数不能为空
MailAddress recieve = new MailAddress(reciever);
我猜它已经postback了吧,执行了saveRegistration这个方法。而这时我的用户注册信息都为空就报错了。
但是之前我没有用linkbutton的时候什么问题都没有,切换页面没问题。
而且不明白它为什么会postback,因为我在javascript里面写的只有当所有用户注册填写正确,form才会submit。
我该怎么修改猜不让他报错啊,最好详细一些。。。谢谢!!
是不是得用ajax之类的东西,ajax是一定也不会。
asp.net
------解决方案--------------------
你不是在写Session["name"]吗?
它是空的,就说没有没有登录,反之就是登录了。
在masterpage的page_load事件中判断: