2017-02-09 38 views
0

我有一個朋友列表和其他網頁'chatbox'的主頁。我有一個使用Gridview生成的動態列表。該列表是朋友的列表,當用戶點擊朋友的姓名時,該朋友的姓名和用戶的id(即在會話中)的ID必須傳遞到另一個頁面('chatbox.aspx')。如何使用C#中其他頁面中的一個頁面發送的URL中的兩個值?

代碼:

HomePage1.aspx(部分代碼)

<asp:GridView GridLines="None" ID="GridView1" class="active bounceInDown" onClientClick="#chat-message" 
    runat="server" AutoGenerateColumns="false" CellPadding="4" ForeColor="#333333" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"> 
    <AlternatingRowStyle BackColor="White"></AlternatingRowStyle> 
     <Columns> 
      <asp:TemplateField HeaderText="Friends"> 
       <ItemTemplate> 
        <a href='<%# "chatbox.aspx?User=" + Eval("Ownerid") + "?Friend=" + Eval("Friendid") %>'> 
         <%# Eval("FName") %> 
        </a> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 
</form> 

在點擊這個名字我可以得到兩個值:用戶ID和朋友id的下一個頁面的URL('客艙.aspx'),我只想知道如何使用它們在新頁面('chatbox.apsx')中進一步編碼。

+0

所以如果我明白,你只是試圖訪問下一頁中的查詢字符串值是否正確?您是否從後面的代碼訪問? –

+0

是的來自chatbox.apsx.cs @Rickjames –

+0

@VDWWD打敗了我 –

回答

1

解決方案:

 int oid = new int(); 
     int pid = new int(); 
     if (Request.QueryString["User"] != null && Request.QueryString["Friend"] != null) 
     { 

       oid = Convert.ToInt32(Request.QueryString["User"]); 

       OwnerName.Visible = true; 
       UserTable q = Class1.selectByID(oid); 
       OwnerName.Text = q.LName; 

      pid = Convert.ToInt32(Request.QueryString["Friend"]); 
      FriendName.Visible = true; 
      UserTable a = Class1.selectByID(pid); 
      FriendName.Text = a.LName; 


     } 
1

你通常會在頁面上用querystring做這樣的事情。

//declare a variable to on the new page for the passed id 
int Ownerid = new int(); 

//check if the querystring exists 
if (Request.QueryString["User"] != null) 
{ 
    //wrap the conversion in a try-catch blok because in a querystring a user can change the value 
    try 
    { 
     //convert the querystring to a usable value 
     Ownerid = Convert.ToInt32(Request.QueryString["User"]); 
    } 
    catch 
    { 
    } 
} 
+0

它應該是「用戶」而不是「Ownerid」? –

+0

因爲這是我的URL如何:http:// localhost:54726/chatbox?User = 1?Friend = 7 –

+0

是啊我不認爲這是有效的,它應該是:localhost:54726/chatbox?User = 1&Friend = 7 –

0

在查詢字符串的其它參數應當由&所以

<a href='<%# "chatbox.aspx?User=" + Eval("Ownerid") + "&Friend=" + Eval("Friendid") %>'> 

被分隔在你的CS頁面,您應該請求用戶和朋友

var user = Request.QueryString["User"]; 
var friend = Request.QueryString["Friend"]; 
相關問題