0

<table>リピーター内にラベルがあります。「NameShow.ashx」という名前の HttpHandler を使用して、「id」をハンドラーに渡すことで「name」を「text/plain」として返します。

「名前」を取得したい (ハンドラーから「画像」を取得するのと同様)。

これが私のコードです:

<asp:Label ID="Label1" runat="server" Text='<%#""NameShow.ashx?id="+Eval("id") %>'>
</asp:Label>

このラベルのテキストを取得しています ->> NameShow.ashx?id=123

私が間違いをしている場所を見つけるのを手伝ってください。

これが私のハルドラーコードです。

システムを使用する; System.Web の使用;

public class NameShow : IHttpHandler {

public void ProcessRequest (HttpContext context) 
{
    string strid = context.Request.QueryString["id"];
    long pro_id = int.Parse(strid);

    string name = DBHelpername.name(pro_id);

    context.Response.ContentType = "text/plain";
    context.Response.Write(name);
}

public bool IsReusable {
    get {
        return false;
    }
}

}

これが私のDBHelperコードです:

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

/// <summary>
/// Summary description for DBHelpername
/// </summary>
public class DBHelpername
{
    public DBHelpername()
    {
        //
        // TODO: Add constructor logic here
        //
    }
    public static string name(long id)
    {
        SqlConnection connect = new SqlConnection
             ("Data Source=DELL-36B3EF6E9F;Integrated Security=True;Initial Catalog=pool");
        connect.Open();
        SqlCommand sc = 
           new SqlCommand("SELECT name FROM Profile WHERE profile_id=" + id + "", connect);
        SqlDataAdapter da = new SqlDataAdapter(sc);
        DataSet ds = new DataSet();
        da.Fill(ds);
        string nameret = ds.Tables[0].Rows[0][0].ToString();
        return nameret;
        connect.Close();
    }
}
4

2 に答える 2

0
<%# new System.Net.WebClient().DownloadString("http://www.yoursite.com/NameShow.ashx?id="+Eval("id"))) %>

このようなものはうまくいくかもしれませんが、リピーターの各アイテムに対して http リクエストを行うので、アプローチを再考する必要があるかもしれません - そしてそれはうまくスケーリングしません! これはすべて 1 つのアプリケーション/Web サイトにあるように見えるので、このページのコード ビハインドで名前を検索するコードを呼び出すことはできませんか?

于 2013-08-09T12:57:12.370 に答える