2017-03-24 6 views
0

データベーステーブルからIDを確認した後にのみWebページをリダイレクトしたいと思います。どのように私は条件を使用して、またはプロシージャを呼び出すことによってdisをチェックできますか?データベースからIDを確認した後にウェブサイトにリダイレクトする

これは私のコードです:

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

    } 
    protected void btnLink_Click(object sender, EventArgs e) 
    { 
     if (txtPropCode.Text != "") 
     { 
      Response.Redirect("http://real.com/Properties_Detail?id=" + txtPropCode.Text); 
     } 
    } 
} 

そして、これはストアドプロシージャです:

CREATE PROCEDURE [dbo].[Go] 
(
    @Pid bigint 
) 
AS 
    SELECT * from Properties where [email protected] 
+0

ストアドプロシージャを呼び出し、IDが存在するかどうかを確認してリダイレクトします –

+0

@ Venkateswaran R ..... btまだ動作していません.... protected void btnLink_Click(オブジェクト送信者、EventArgs e) { ボタンlnk =(ボタン)送信者。 cmd.CommandText = "Go"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue( "@ Pid"、txtPropCode.Text); Response.Redirect( "http://real.com/Properties_Detail?id=" + txtPropCode.Text); } – Anu

+0

あなたはIDがデータベースに存在するかどうかをチェックしたいと思っています。そうです、あなたが何をしたいのかは、Response.Redirect( "")を呼び出す前に、ストアドプロシージャを呼び出して値をチェックする必要があります。 –

答えて

0

その単一ではない複雑なクエリがとてもありますので、あなたは、分離コードでクエリを実行することによってこれを達成することができますこの目的のためにSPを書く必要はありません。あなただけのレコードが存在するかどうかを確認する必要がある場合は、ExecuteScalerメソッドを使用して存在するか否かの結果を検証し、代わりにそれをこのように実行します。あなたがたときにユーザーをリダイレクトする場合

protected void btnLink_Click1(object sender, EventArgs e) 
    { 
     SqlConnection con = new SqlConnection(YourConnectionString); 
     SqlCommand cmd = new SqlCommand("Select * from Properties where [email protected]", con); 
     cmd.Parameters.AddWithValue("@Pid",Convert.ToInt32(txtPropCode.Text)); 
     con.Open(); 
     object id=cmd.ExecuteScalar(); 
     If((int)id!=-1); 
     //it means record exists 
     else 
     //The record doesn't exist 
    } 

は今、あなたにそのアップが選びましたレコードが存在していなければ、リダイレクトしないか、何をする必要があるのか​​を指定します。テスト済みのコードで動作します。

希望すると助かります!

関連する問題