Вызов C # со страницы дизайна - PullRequest
0 голосов
/ 06 апреля 2009

Привет, возможно ли сделать следующее?

  <a href="/Reports/report.aspx?StartDate=<% Request.Params.Get("StartDate"); 
  %>&EndDate=<% Request.Params.Get("EndDate"); %>">View analysis</a>

Спасибо.

Ответы [ 2 ]

2 голосов
/ 06 апреля 2009

Вы можете сделать это, ОДНАКО, это может позволить злоумышленнику предоставить неожиданные данные параметру.

Я бы настоятельно рекомендовал очистить данные и убедиться, что это то, что вы ожидаете, прежде чем поместить их на страницу.

Также полагаем, что синтаксис, необходимый для начала блока кода, составляет <% = (обратите внимание на знак =) </p>

1 голос
/ 06 апреля 2009

Конечно, это возможно! Вам нужно будет разрешить кавычки, во-первых, вы должны использовать синтаксис ASP.NET Response.Write (<%=Expression%>):

<a href='/Reports/report.aspx?StartDate=<%= Request.Params.Get("StartDate"); %>&EndDate=<%= Request.Params.Get("EndDate"); %>'>View analysis</a>

Но рекомендуется ли это? Я бы подумал, что нет. Причины могут варьироваться от открытия потенциальных дыр в безопасности (позволяющих использовать непроверенные данные строки запроса) до простых проблем с читаемостью и разделения кода. Помните, что именно так классический код ASP был написан до появления ASP.NET.

Было бы намного лучше выполнить эту логику в коде после проверки строки запроса на наличие допустимых значений и присвоения NavigateUrl элемента управления asp:HyperLink.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...