C#如果那么其他问题

Mik*_*ike -7 .net c# if-statement

我收到错误无效的表达式术语else.在其他说法之前,括号也是一个错误

"只有赋值,调用,递增,递减和新对象表达式才能用作语句".

public partial class frmPersonnel : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        try
        {
            DateTime dt1;
            DateTime dt2;

        if (txtFirstName.Text == "")
        {
            txtFirstName.BackColor = System.Drawing.Color.Yellow;
            lblError.Text = "Please enter first name";
        }
        if (txtLastName.Text == "")
        {
            txtLastName.BackColor = System.Drawing.Color.Yellow;
            lblError.Text = "Please enter last name!";
        }
        if (txtPayRate.Text == "")
        {
            txtPayRate.BackColor = System.Drawing.Color.Yellow;
            lblError.Text = "Please enter pay rate!";
        }
        if (txtStartDate.Text == "")
        {
            txtStartDate.BackColor = System.Drawing.Color.Yellow;
            lblError.Text = "Please enter start date!";
        }
        if (txtEndDate.Text == "")
        {
            txtEndDate.BackColor = System.Drawing.Color.Yellow;
            lblError.Text = "Please enter end date!";
        }
         dt1 = DateTime.Parse(txtStartDate.Text);
         dt2 = DateTime.Parse(txtEndDate.Text);


        if (DateTime.Compare(dt1, dt2) > 0)
        {
            txtStartDate.BackColor = System.Drawing.Color.Yellow;
            lblError.Text = "Start Date must not be greater than End Date.";
        }
        }
      catch (Exception ex)
        {
            lblError.Text = "Please enter valid data!";
      }

        else
        {
            Session["txtFirstName"] = txtFirstName.Text;
            Session["txtLastName"] = txtLastName.Text;
            Session["txtPayRate"] = txtPayRate.Text;
            Session["txtStartDate"] = txtStartDate.Text;
            Session["txtEndDate"] = txtEndDate.Text;
            Server.Transfer("frmPersonalVerified.aspx");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

mat*_*mmo 6

你的语法错了,你有一个没有尝试,你可以这样做.虽然你为什么要捕捉异常?是因为你认为日期不会出现吗?如果是这样,请检查if中的if而不是等待捕获比较异常.例外情况只应在特殊情况下使用.要修复帖子中的语法,请执行以下操作(请注意,无论是否抛出异常,最终都会发生)

     try
     {
        if (DateTime.Compare(dt1, dt2) > 0)  
        {  
            txtStartDate.BackColor = System.Drawing.Color.Yellow;  
            lblError.Text = "Start Date must not be greater than End Date.";  
        }  
        else
        {
            lblError.Text = "Please enter valid data!";
        }
     }
     catch (Exception ex)
     {
         lblError.Text = "Please enter valid data!";
     }
     finally
     {
        Session["txtFirstName"] = txtFirstName.Text;    
        Session["txtLastName"] = txtLastName.Text;    
        Session["txtPayRate"] = txtPayRate.Text;    
        Session["txtStartDate"] = txtStartDate.Text;    
        Session["txtEndDate"] = txtEndDate.Text;    
        Server.Transfer("frmPersonalVerified.aspx");
     }
Run Code Online (Sandbox Code Playgroud)