Member 14192879 Ответов: 1

Как передать значение mutilpe из ASP.NET страница до .ashx


Я хочу 2 значение из файла mypage.aspx-файл.CS для filecs.ashx по.

Что я уже пробовал:

int index = конвертировать.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[индекс];
// int id = int.Parse((отправитель как LinkButton).CommandArgument);
идентификатор строки =строки.Ячейки[0].Текст;
строка username = Session["имя пользователя"].Метод toString();
###я хочу передать идентификатор и имя пользователя ashx

//myiframe.Атрибуты["РКЦ"] = ResolveUrl("~FileCS.данного?код документа=" +ИД + "&амп;имяпользователя="+логин+");
мой кадр.Атрибуты["src"] = ResolveUrl("~/FileCS.ashx?documentid=" + id);

DerekT-P

Так в чем же заключается ваш вопрос? Вы сказали нам, что вы хотите сделать, вы сказали нам, что вы пытались, но что не работает?

Member 3989541

вариант работы для меня

1 Ответов

Рейтинг:
10

Richard Deeming

На странице вызова:

myiframe.Attributes["src"] = ResolveUrl("~/FileCS.ashx?documentid=" + HttpUtility.UrlEncode(id) + "&username=" + HttpUtility.UrlEncode(username));
В обработчике:
string id = context.Request.QueryString["documentid"];
string username = context.Request.QueryString["username"];
Хотя, поскольку имя пользователя исходит из сеанса, вы можете так же легко получить доступ к сеансу из обработчика; вам просто нужно будет реализовать интерфейс IReadOnlySessionState[^]:
public class LoadPdfFileHandler : IHttpHandler, IReadOnlySessionState
{
    public bool IsResuable => false;
    
    public void ProcessRequest(HttpContext context)
    {
        string id = context.Request.QueryString["id"];
        string username = Convert.ToString(context.Session["username"]);