Параметры и источники данных - PullRequest
0 голосов
/ 07 октября 2009

У меня есть вид формы, в котором я выбираю данные на основе значений, которые я получаю, ссылаясь на главную страницу. Я хочу установить для своих параметров какое-то значение в коде вместо того, чтобы хранить эти значения в скрытом поле и установить для моего источника параметров элемент управления (элемент управления скрытого поля)

ЭТО ВОЗМОЖНО? Если так - как?

Я использую источник данных SQL

1 Ответ

1 голос
/ 07 октября 2009

Обработка события OnSelecting для вашего источника данных. Оттуда вы можете получить ссылку на объект команды, используемый для запроса, и изменить его коллекцию параметров.

Вы не указали, какой именно источник данных вы используете, но вот пример с SqlDataSource:

Markup:

<asp:SqlDataSource runat="server" ID="MyDataSource" OnSelecting="OnMyDataSourceSelecting" ...>
    <SelectParameters>
        <asp:Parameter Type="..." Name="SomeParameter" />
    </SelectParameters>
</asp:SqlDataSource>

Обратите внимание, что это просто asp:Parameter. Не параметр сеанса. Не контрольный параметр. Не является параметром QueryString. Ничего подобного. Просто простой общий параметр. Похоже, вы используете мастер для их настройки, и поскольку я редко использую мастер, я не уверен, как вы говорите ему использовать универсальный параметр. Но вы можете просто выбрать один, а затем вернуться и исправить разметку после завершения работы мастера.

Код-за:

void OnMyDataSourceSelecting(object sender, SqlDataSourceSelectingEventArgs e)
{
     e.Command.Parameters["@SomeParamter"].Value = "somevalue";
}
...