Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > форма вопрос-ответ


Автор: Andyb 10.8.2007, 10:43
Доброе день, господа! Подскажите плиzz как решить проблему: мне нужно сделать динамическую форму  вопрос - ответ, причем в зависимости от ответа выбирается следующий вопрос, в принципе особо ничего сложного, но из-за недостатка опыта не знаю как передавать параметры.... мой код:
Код

<%@ Page Language="C#" Debug="true" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="q.aspx.cs" Inherits="q" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:RadioButtonList ID="RadioButtonList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="AnswersTITLE" DataValueField="AnswersID">
    </asp:RadioButtonList>
    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Next</asp:LinkButton>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TasksConnectionString %>"
        SelectCommand="SELECT Questions.ID AS QuestionsID, Questions.TITLE AS QuestionsTITLE, Questions.NQID, Answers.ID, Answers.QID, Answers.TITLE, Answers.QID AS AnswersQID, Answers.ID AS AnswersID, Answers.TITLE AS AnswersTITLE FROM Questions INNER JOIN Answers ON Questions.ID = Answers.QID WHERE (Questions.ID = @ID)">
        <SelectParameters>
            <asp:ControlParameter ControlID="qid" DefaultValue="" Name="ID" PropertyName="Text" />
        </SelectParameters>
    </asp:SqlDataSource>
    
</asp:Content>


Автор: tol05 10.8.2007, 11:10
Цитата(Andyb @  10.8.2007,  10:43 Найти цитируемый пост)
<asp:ControlParameter ControlID="qid" DefaultValue="" Name="ID" PropertyName="Text" />

К какому контролу привязывается, у которого есть PropertyName="Text"? Что за "qid"? 
Наверное, нужно:
- убрать ControlParameter
- сделать обработчик OnClick="LinkButton1_Click", в нем смотреть, какой button из RadioButtonList выбран и тогда уже биндить лист

Код

protected void LinkButton1_Click(object sender, EventArgs e)
{
   SqlDataSource1.SelectParameters.Clear();

   Parameter param = new Parameter("ID", TypeCode.String, RadioButtonList1.SelectedValue);
   param.Direction = ParameterDirection.Input;
   SqlDataSource1.SelectParameters.Add(param);

   RadioButtonList1.DataBind();
}

Автор: Andyb 10.8.2007, 11:26
спасибо большое, сейчас попробую
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)