简体   繁体   English

在PageLoad()事件中分配“ HTML选择控件”值

[英]Assigning “HTML Select Control” Values in PageLoad() Event

I want to Use only the HTML Controls on my page. 我只想在页面上使用HTML控件。 For that i want to use some text boxes and a HTML select(List box) and a Submit button for Post Event. 为此,我想使用一些文本框和一个HTML select(列表框)以及一个Post事件的Submit按钮。 The Code is as follows: 代码如下:

<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>

This Java Script i am using for the HTML Select List. 我用于HTML选择列表的Java脚本。 The Rest of the Code are As follows: 其余代码如下:

<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>

I have a XML document having the following Format: 我有一个具有以下格式的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>

Now what i ahve to do is: When Page load it checks whether the user is registered or not, if he/She is a registered user, the first four field [User ID, Name, Contact, Email] can be be loaded itself. 现在,我要做的是:加载页面时,它会检查用户是否已注册,如果他/她是注册用户,则可以自行加载前四个字段[用户ID,名称,联系人,电子邮件]。 for this my code behind file assigns value like this: 为此,我在文件后面的代码分配了如下值:

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

If he/she is not a registered user then User will get this field blank and i will get fetch all the filled values through Page.Request(). 如果他/她不是注册用户,则用户将使该字段为空,而我将通过Page.Request()获取所有填充值。

Second Issue is that i want to load the Option of select box from XML file which is above. 第二个问题是我想从上面的XML文件中加载选择框的选项。 I am a newbie to this code and flow. 我是这段代码和流程的新手。 so please anybody can help me doing this. 所以任何人都可以帮助我做到这一点。

Thanks in Advance. 提前致谢。

You'll need to assign the runat="server" attribute to the input type="text" controls as well. 您还需要将runat="server"属性分配给input type="text"控件。 Then you can access them in codebehind just like a webcontrol. 然后,您可以像Web控件一样在代码隐藏中访问它们。 The same goes for your select html control. select html控件也是如此。

For the Xml document you're going to need an XmlReader object. 对于Xml文档,您将需要一个XmlReader对象。 For the implementation of that, please look up MSDN 为此,请查阅MSDN

Finally i did it without using a single asp control. 最终,我没有使用单个ASP控件就做到了。 I solved the problem like this: 我解决了这样的问题:

<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>

And finally in Code behind file i just put some required condition and fetch all the html values through request.form, like this: 最后,在文件后面的代码中,我只是放置了一些必要条件,并通过request.form获取了所有html值,如下所示:

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);
                }
            }
        }

    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM