OOP question

liunx

Guest
Please note the If/Then branch in Page_Load sub. I want to make this user control available to any webpage, however I'm a little wet behind the ears with creating reusable objects. How do I broadcast the selectedValue to the host application and still have this be a stand alone object?

us_states.ascx

<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System.Web" %>
<%@ import Namespace="System.Xml" %>

<script runat="server">

Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
bindDropDown()
End If
If Not ddlStates.SelectedValue = "0" Then
'Set something here that will communicate with any application.
'but what?
End If
End Sub

Sub bindDropDown()
Dim _noXmlVals As New ArrayList()
Dim _myDataSet As New DataSet()

_noXmlVals.Add("error Reading XML file")

If fetchStates(_myDataSet) = -1 Then
ddlStates.DataSource = _noXmlVals
Else
ddlStates.DataSource = _myDataSet.Tables(0)
ddlStates.DataTextField = _myDataSet.Tables(0).Columns(1).ToString()
ddlStates.DataValueField = _myDataSet.Tables(0).Columns(0).ToString()
End If

ddlStates.DataBind()
End Sub

Public Function fetchStates(ByRef _ds As DataSet) As Integer
Dim fStatus As Integer = -1
Dim _xmlPath As String

_xmlPath = HttpContext.Current.Request.PhysicalApplicationPath & "states.xml"
_ds.ReadXml(_xmlPath)

If _ds.Tables(0).Rows.Count > 0 Then
fStatus = 1
End If

fetchStates = fStatus
End Function

</script>

<span class="Normal">State:</span>
<br>
<asp:DropDownList ID="ddlStates" AutoPostBack="true" runat="server" />
<br>


states.xsd

<?xml version="1.0" encoding="iso-8859-1"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:myStates="http://www.mydom.org/states"
targetNamespace="http://www.mydom.org/states"
elementFormDefault="qualified">

<!--Root and main body elements -->
<element name="states">
<complexType>
<sequence minOccurs="0" maxOccurs="unbounded">
<element name="state">
<complexType>
<sequence>
<element name="stateAbreviation" type="string" />
<element name="stateName" type="string" />
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>

</schema>


states.xml

<?xml version="1.0" encoding="iso-8859-1"?>
<states
xmlns="http://www.mydom.org/states"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mydom.org/states states.xsd">

<state>
<stateAbreviation>0</stateAbreviation>
<stateName>--Choose your State--</stateName>
</state>

<state>
<stateAbreviation>AL</stateAbreviation>
<stateName>Alabama</stateName>
</state>

<state>
<stateAbreviation>AK</stateAbreviation>
<stateName>Alaska</stateName>
</state>

<state>
<stateAbreviation>AZ</stateAbreviation>
<stateName>Arizona</stateName>
</state>

<state>
<stateAbreviation>AR</stateAbreviation>
<stateName>Arkansas</stateName>
</state>

<state>
<stateAbreviation>CA</stateAbreviation>
<stateName>California</stateName>
</state>

<state>
<stateAbreviation>CO</stateAbreviation>
<stateName>Colorado</stateName>
</state>

<state>
<stateAbreviation>CT</stateAbreviation>
<stateName>Connecticut</stateName>
</state>

<state>
<stateAbreviation>DE</stateAbreviation>
<stateName>Delaware</stateName>
</state>

<state>
<stateAbreviation>FL</stateAbreviation>
<stateName>Florida</stateName>
</state>

<state>
<stateAbreviation>GA</stateAbreviation>
<stateName>Georgia</stateName>
</state>

<state>
<stateAbreviation>HI</stateAbreviation>
<stateName>Hawaii</stateName>
</state>

<state>
<stateAbreviation>ID</stateAbreviation>
<stateName>Idaho</stateName>
</state>

<state>
<stateAbreviation>IL</stateAbreviation>
<stateName>Illinois</stateName>
</state>

<state>
<stateAbreviation>DN</stateAbreviation>
<stateName>Indiana</stateName>
</state>

<state>
<stateAbreviation>IA</stateAbreviation>
<stateName>Iowa</stateName>
</state>

<state>
<stateAbreviation>KS</stateAbreviation>
<stateName>Kansas</stateName>
</state>

<state>
<stateAbreviation>KY</stateAbreviation>
<stateName>Kentucky</stateName>
</state>

<state>
<stateAbreviation>LA</stateAbreviation>
<stateName>Louisiana</stateName>
</state>

<state>
<stateAbreviation>ME</stateAbreviation>
<stateName>Maine</stateName>
</state>

<state>
<stateAbreviation>MD</stateAbreviation>
<stateName>Maryland</stateName>
</state>

<state>
<stateAbreviation>MA</stateAbreviation>
<stateName>Massachusetts</stateName>
</state>

<state>
<stateAbreviation>MI</stateAbreviation>
<stateName>Michigan</stateName>
</state>

<state>
<stateAbreviation>MN</stateAbreviation>
<stateName>Minnesota</stateName>
</state>

<state>
<stateAbreviation>MS</stateAbreviation>
<stateName>Mississippi</stateName>
</state>

<state>
<stateAbreviation>MO</stateAbreviation>
<stateName>Missouri</stateName>
</state>

<state>
<stateAbreviation>MT</stateAbreviation>
<stateName>Montana</stateName>
</state>

<state>
<stateAbreviation>NE</stateAbreviation>
<stateName>Nebraska</stateName>
</state>

<state>
<stateAbreviation>NV</stateAbreviation>
<stateName>Nevada</stateName>
</state>

<state>
<stateAbreviation>NH</stateAbreviation>
<stateName>New Hampshire</stateName>
</state>

<state>
<stateAbreviation>NJ</stateAbreviation>
<stateName>New Jersey</stateName>
</state>

<state>
<stateAbreviation>NM</stateAbreviation>
<stateName>New Mexico</stateName>
</state>

<state>
<stateAbreviation>NY</stateAbreviation>
<stateName>New York</stateName>
</state>

<state>
<stateAbreviation>NC</stateAbreviation>
<stateName>North Carolina</stateName>
</state>

<state>
<stateAbreviation>ND</stateAbreviation>
<stateName>North Dakota</stateName>
</state>

<state>
<stateAbreviation>OH</stateAbreviation>
<stateName>Ohio</stateName>
</state>

<state>
<stateAbreviation>OK</stateAbreviation>
<stateName>Oklahoma</stateName>
</state>

<state>
<stateAbreviation>OR</stateAbreviation>
<stateName>Oregon</stateName>
</state>

<state>
<stateAbreviation>PA</stateAbreviation>
<stateName>Pennsylvania</stateName>
</state>

<state>
<stateAbreviation>RI</stateAbreviation>
<stateName>Rhode Island</stateName>
</state>

<state>
<stateAbreviation>SC</stateAbreviation>
<stateName>South Carolina</stateName>
</state>

<state>
<stateAbreviation>SD</stateAbreviation>
<stateName>South Dakota</stateName>
</state>

<state>
<stateAbreviation>TN</stateAbreviation>
<stateName>Tennessee</stateName>
</state>

<state>
<stateAbreviation>TX</stateAbreviation>
<stateName>Texas</stateName>
</state>

<state>
<stateAbreviation>UT</stateAbreviation>
<stateName>Utah</stateName>
</state>

<state>
<stateAbreviation>VT</stateAbreviation>
<stateName>Vermont</stateName>
</state>

<state>
<stateAbreviation>VA</stateAbreviation>
<stateName>Virginia</stateName>
</state>

<state>
<stateAbreviation>WA</stateAbreviation>
<stateName>Washington</stateName>
</state>

<state>
<stateAbreviation>WV</stateAbreviation>
<stateName>West Virginia</stateName>
</state>

<state>
<stateAbreviation>WI</stateAbreviation>
<stateName>Wisconsin</stateName>
</state>

<state>
<stateAbreviation>WY</stateAbreviation>
<stateName>Wyoming</stateName>
</state>

</states>
 
Back
Top