大家帮小弟我看一下这个有关问题如何解决,先多谢了

大家帮我看一下这个问题怎么解决,先谢谢了
本帖最后由 smrt_tony 于 2013-09-29 13:17:07 编辑
我描述一下我的问题:

做了个网站,在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事件中判断:

大家帮小弟我看一下这个有关问题如何解决,先多谢了