2016-06-25 1 views
0

sqldatasource가 자동으로 채워지는 Listview가 있습니다. 여기에서 Listview를 클릭하여 다른 페이지로 리디렉션되는 링크 단추가 있습니다. 그러나 리디렉션하는 동안 ID 및 사용자 이름을 쿼리 문자열로 새 페이지에 전달해야합니다. 그리고이 ID와 사용자 이름은 이전 페이지에서이 페이지로 쿼리를 통해 받았습니다. 그래서, 나는이 페이지를 읽거나, aspx 페이지에서 이것을 읽고 Linkbutton의 포스트 백 url로 묶는 방법을 알아야합니까? 이것에 대해 제발 제안 해주세요. 감사. 여기 쿼리 문자열을 ASPX 페이지로 읽는 방법은 무엇입니까?

내가 노력하고 코드입니다 :

<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl="WebForm4.aspx?id=<%=id %>">here</asp:LinkButton> 

그러나 다음 페이지에 나는이 같은 무엇입니까 : 내가 설정 이대로가 http://localhost:38524/WebForm4.aspx?id=1을 받을지 여부를

http://localhost:38524/WebForm4.aspx?id=%3C%=id%20%%3E

querystring을 수신하여 id의 값을 1로 설정합니다.

<asp:LinkButton ID="LinkButton2" runat="server" Text="here" PostBackUrl='<%# string.Format 
("WebForm4.aspx?postquestion={0}", Request.QueryString["id"]) %>'></asp:LinkButton> 

을하지만이 작동하지 않습니다 :

지금 나뿐만 아니라이 함께 노력하고 있습니다. 링크 버튼을 클릭하면 WebForm4.aspx로 리디렉션되지 않고 대신 동일한 페이지로 새로 고침됩니다. 이것 좀 도와주세요.

+0

일부 코드주세요! – Aristos

+0

문제가 해결 되었습니까? –

+0

아직 해결되지 않았습니다. – barsan

답변

0

쿼리 문자열을 전달하는 페이지에서 Public 문자열 변수를 선언하십시오. PageLoad에서 쿼리 문자열을 읽고이를 해당 변수로 전달하십시오.

public string QueryString1; 
public string QueryString2; 
protected void Page_Load(object sender, EventArgs e) 
{ 
    Page.DataBind();// Imp to add for setting values from front side 
    QueryString1 = Request.QueryString["QueryString1"].ToString(); 
    QueryString2 = Request.QueryString["QueryString2"].ToString(); 
    LinkButton2.PostBackUrl = "WebForm4.aspx?id=" + QueryString1; 
} 

다음 aspx 페이지에 당신이 <%=QueryString1 %>하여 이러한 값에 액세스 할 수 <%=QueryString2 %>

<div class="row" runat="server" visible="False" id="mainDiv"> 

    <div class="col-md-12"> 
     <div class="panel panel-default"> 
      <div class="panel-body"> 
       <div id="divMsg" runat="server"> 
         <%=QueryString1 %> 
        <%=QueryString2 %> 
        <asp:Label runat="server" ID="lblMsg"></asp:Label> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

업데이트 :

갱신 2가 변경 코드 숨김에서 포스트 백을 설정하기위한 Page_Load를 참조하십시오 포스트 백

012 38,458,

나는 그것을 (테스트) 도움이되기를 바랍니다

+0

답장을 보내 주셔서 감사합니다. 그것은 div 내부에서 잘 작동합니다. 그러나 LinkButton의 PostBackUrl에 이것을 추가하려고하면 작동하지 않습니다. 업데이트 된 질문을 확인하십시오. 거기에 뭔가 빠졌나요? – barsan

+0

왜 코드 뒤에'LinkButton2' PostbackUrl 속성을 설정하려고하지 않습니까? 업데이트 된 ans를 참조하십시오. – KanisXXX

+0

필자의 요구 사항은 프론트 엔드에서 설정하는 것입니다. 나는 그것을 백엔드에 넣을 수 없다. – barsan

0

당신은 쿼리 문자열에서 다음 페이지로 ID와 사용자 이름을 모두 통과 아래의 예를 사용할 수 있습니다

당신은 거의 그것을했다
<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl='<%# String.Format("WebForm4.aspx?id={0}&userName={1}", Request.QueryString["id"],Request.QueryString["userName"]) %>'>here</asp:LinkButton> 
0

너의 두 번째 시도. 당신은 쿼리 문자열을 잘 읽고 있습니다. 누락 작은 것들 슬래시 다음에 물결표 있습니다

<asp:LinkButton ID="LinkButton2" runat="server" Text="here" 
    PostBackUrl='<%# string.Format("~/WebForm4.aspx?postquestion={0}", Request.QueryString["id"]) %>'></asp:LinkButton> 
또한

는, 등호 해시 기호를 대체; <%# ... %>Data binding syntax입니다. 서버 측 코드에서 문자열을 반환하려면 this one이 필요합니다.

관련 문제