2017-03-24 1 views
0

데이터베이스 테이블에서 ID를 확인한 후에 만 ​​웹 페이지를 리디렉션하려고합니다. 조건을 사용하거나 절차를 사용하여 어떻게 확인할 수 있습니까? 데이터베이스에서 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가 ..... Venkateswaran R @ –

+0

리디렉션 존재 여부를 다음 수행 여부를 확인 BT 그것은 여전히 ​​작동하지 .... 보호 무효 btnLink_Click (개체 보낸 사람, EventArgs입니다 전자) { 버튼 lnk = (버튼) 발신자; cmd.CommandText = "이동"; 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를 작성할 필요가 없습니다. 당신은 당신이 때 사용자를 리디렉션하려면 선택의 최대 이제

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 
    } 

: 당신은 그냥 레코드가 존재하는지 여부를 확인해야하는 경우, 대신이 방법으로 수행 ExecuteScaler 방법을 사용하고 있는지 여부 존재 여부 결과를 확인 레코드가 존재하지 않으면 리디렉션을하지 마십시오. 그것의 테스트 코드 및 작동합니다.

희망이 있습니다.

관련 문제