Назначение значений «HTML Select Control» в событии PageLoad () - PullRequest
0 голосов
/ 29 января 2010

Я хочу использовать только элементы управления HTML на моей странице. Для этого я хочу использовать несколько текстовых полей, HTML-выбор (список) и кнопку «Отправить» для публикации события. Код выглядит следующим образом:

<script type="text/javascript">

    function dropdown(mySel) {
        var myWin, myVal;
        myVal = mySel.options[mySel.selectedIndex].value;
        if (myVal) {
            if (mySel.form.target) myWin = parent[mySel.form.target];
            else myWin = window;
            if (!myWin) return true;
            myWin.location = myVal;
        }
        return false;
    }

</script>

Этот Java-скрипт, который я использую для списка выбора HTML. Остальная часть Кодекса выглядит следующим образом:

<form action="feedback.aspx" method="post" onsubmit="return dropdown(this.feeds)">
<h1>
    Let us know your inconvenience for the following Listing:
</h1>
<table>
    <tr>
        <td>
            <b>Type : </b>
        </td>
        <td>
            <asp:Label ID="lbltype" runat="server"></asp:Label>
        </td>
    </tr>
    <tr>
        <td>
            <b>ID : </b>
        </td>
        <td>
            <asp:Label ID="lblID" runat="server"></asp:Label>
        </td>
    </tr>
    <tr>
        <td>
            <b>Title: </b>
        </td>
        <td>
            <asp:Label ID="lblTitle" runat="server"></asp:Label>
        </td>
    </tr>
</table>
<table>
    <tr>
        <td>
            User ID:
        </td>
        <td>
            <input type="text" name="txtUserid" />
        </td>
    </tr>
    <tr>
        <td>
            Name:
        </td>
        <td>
            <input type="text" name="txtName" />
        </td>
    </tr>
    <tr>
        <td>
            Contact:
        </td>
        <td>
            <input type="text" name="txtContact" />
        </td>
    </tr>
    <tr>
        <td>
            Email:
        </td>
        <td>
            <input type="text" name="txtemail" />
        </td>
    </tr>
</table>
<br />
<table cellpadding="5" cellspacing="5" width="500px">
    <tr>
        <td style="width: 400px">
            <b>Please Select the given option </b>
        </td>
    </tr>
    <tr>
        <td style="width: 400px">
            <select name="feeds">
                <option value="">Choose an Option...</option>
                <option value="">Option1</option>
                <option value="">Option2</option>
                <option value="">Option3</option>
            </select>
        </td>
    </tr>
    <tr>
        <td style="width: 400px">
            <b>Write your Comment Here: </b>
            <br />
            <textarea id="TextArea" name="txtcomment" cols="45" rows="5"></textarea>
        </td>
        <td>
            &nbsp;
        </td>
    </tr>
    <Efextra:Captcha ID="Captcha1" runat="server" TabIndex="29" ValidationErrorMessage="Verification Code"
        ValidationGroup="Feeds" ValidationText="*"></Efextra:Captcha>
    <tr>
        <td>
            <input type="submit" value="Submit FeedBack" validationgroup="Feeds" />
        </td>
    </tr>
</table>
</form>

У меня есть документ XML, имеющий следующий формат:

<?xml version="1.0" encoding="utf-8" ?>
<Feedback>
<Options>
  <ID>0</ID>
  <option>[Select your option]</option>
 </Options>
 <Options>
  <ID>1</ID>
  <option>I got Incomplete/wrong information posted here.</option>
 </Options>
 <Options>
  <ID>2</ID>
  <option>The Content is not in Proper Format.</option>
 </Options>
 <Options>
  <ID>3</ID>
  <option>How can get the similar type of properties?</option>
 </Options>
 <Options>
  <ID>4</ID>
  <option>This Listing is Sold and Still Displaying here.</option>
 </Options>
 <Options>
  <ID>5</ID>
  <option>I can not send SMS for this Listing.</option>
 </Options>
 <Options>
  <ID>6</ID>
  <option>I can not get the Contact Information of the owner of this post.</option>
 </Options>
 <Options>
  <ID>7</ID>
  <option>My problem is not given here!</option>
 </Options>
</Feedback>

Теперь я должен сделать следующее: Когда страница загружает, она проверяет, зарегистрирован ли пользователь или нет, если он / она является зарегистрированным пользователем, первые четыре поля [ID пользователя, имя, контакт, электронная почта] могут быть загружены сами. для этого мой код файла присваивает значение следующим образом:

User FeedUser = Propertywala.User.GetAuthUser();
Txt1.Text=Feeduser.UserID; and so on..

Если он / она не зарегистрированный пользователь, тогда пользователь получит это поле пустым, а я получу все заполненные значения через Page.Request ().

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

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 03 февраля 2010

Наконец я сделал это, не используя ни одного элемента управления asp. Я решил проблему следующим образом:

<form name="feedback" action="FeedBack.aspx">
<h1>
    Let us know your inconvenience for the following Listing:
</h1>
<table>
    <%if (IsUserLoggedIn) %>
    <%{ %>
    <tr>
        <td>
            <b>User ID:</b>
        </td>
        <td>
            <input type="text" value="<%=VisitingUser.UserIdn%>" size="30" readonly="readonly" />
        </td>
    </tr>
    <tr>
        <td>
            <b>Name:</b>
        </td>
        <td>
            <input type="text" value="<%=VisitingUser.FullName%>" size="30" readonly="readonly" />
        </td>
    </tr>
    <tr>
        <td>
            <b>Contact:</b>
        </td>
        <td>
            <input type="text" value="<%=VisitingUser.MobileNumber %>" size="30" readonly="readonly" />
        </td>
    </tr>
    <tr>
        <td>
            <b>Email:</b>
        </td>
        <td>
            <input type="text" value="<%=VisitingUser.PrimaryEmail%>" size="30" readonly="readonly" />
        </td>
    </tr>
    <%} %>
    <%else%>
    <%{ %><tr>
        <td>
            <h3>
                Enter the Folowing details to submit the Feedback:
            </h3>
        </td>
    </tr>
    <tr>
        <td>
            Name:
        </td>
        <td>
            <input type="text" name="txtName" />
        </td>
    </tr>
    <tr>
        <td>
            Contact:
        </td>
        <td>
            <input type="text" name="txtContact" />
        </td>
    </tr>
    <tr>
        <td>
            Email:
        </td>
        <td>
            <input type="text" name="txtEmail" />
        </td>
    </tr>
    <%} %>
</table>
<br />
<%if (int.TryParse(Request.QueryString["property"], out Property)) %>
<%{ %>
<%Propertywala.Property prp = new Propertywala.Property(Property);%>
<%if (prp.OwnerId > 0) %>
<%{ %>
<table>
    <tr>
        <td>
            <b>Property ID :</b>
        </td>
        <td>
            <%=Property.ToString() %>
        </td>
    </tr>
    <tr>
        <td>
            <b>Property Title :</b>
        </td>
        <td>
            <%=prp.AutoGeneratedTitle %>
        </td>
    </tr>
</table>
<%} %>
<%} %>
<%else if (int.TryParse(Request.QueryString["project"], out Project)) %>
<%{ %>
<%Propertywala.Project prj = new Propertywala.Project(Project);%>
<%if (prj.UserId > 0) %>
<%{ %><table>
    <tr>
        <td>
            <b>Project ID : </b>
        </td>
        <td>
            <%=Project.ToString() %>
        </td>
    </tr>
    <tr>
        <td>
            <b>Project Title : </b>
        </td>
        <td>
            <%=prj.Title %>
        </td>
    </tr>
</table>
<%} %>
<%} %>
<table cellpadding="5" cellspacing="5" width="500px">
    <tr>
        <td style="width: 400px">
            <b>Please Select the given option </b>
        </td>
    </tr>
    <tr>
        <td style="width: 400px">
            <select name="feeds">
                <%foreach (System.Xml.XmlNode xNode in FeedXmlList)%>
                <%{ %>
                <option value="<%=xNode.ChildNodes[1].InnerText%>">
                    <%=xNode.ChildNodes[1].InnerText%></option>
                <%} %>
            </select>
        </td>
    </tr>
    <tr>
        <td style="width: 400px">
            <b>Write your Comment Here: </b>
            <br />
            <textarea name="txtcomment" cols="45" rows="5"></textarea>
        </td>
        <td>
            &nbsp;
        </td>
    </tr>
    <Efextra:Captcha ID="Captcha1" runat="server" TabIndex="29" ValidationErrorMessage="Verification Code"
        ValidationGroup="Feeds" ValidationText="*"></Efextra:Captcha>
    <tr>
        <td>
            <input type="submit" value="Submit FeedBack" />
        </td>
    </tr>
</table>
</form>

И, наконец, в коде за файлом я просто поставил некоторые обязательные условия и извлек все значения html через request.form, например так:

if (Request.HttpMethod.ToLower() == "post" && Request.Form.Count > 0)
    {
        if (!string.IsNullOrEmpty(Request.Form["feeds"]) || !string.IsNullOrEmpty(Request.Form["txtcomment"]))
        {
            if (!string.IsNullOrEmpty(Request["property"]) || !string.IsNullOrEmpty(Request["project"]))
            {
                if (IsUserLoggedIn||(!IsUserLoggedIn && !string.IsNullOrEmpty(Request["txtName"]) && !string.IsNullOrEmpty(Request["txtContact"]) && !string.IsNullOrEmpty(Request["txtEmail"])))
                {
                    if (Request.Form["feeds"] != "[Select your option]")
                    {
                        Mail(Request.Form["feeds"], Request.Form["txtcomment"]);
                    }
                    else
                    {
                        Common.ClientMessage("Select the Option and Retry to Submit the feeds.", CommonConsts.AlertType.info);

                    }
                }
                else
                {
                    Common.ClientMessage("Unregistered user must fill their name and Contact Details!", CommonConsts.AlertType.info);
                }
            }
        }

    }
0 голосов
/ 29 января 2010

Вам также нужно будет присвоить атрибут runat="server" элементам управления input type="text". Затем вы можете получить к ним доступ в виде кода, как при веб-контроле. То же самое относится и к вашему select элементу управления html.

Для документа Xml вам понадобится объект XmlReader. Для реализации этого, пожалуйста, посмотрите MSDN

...