Just nu i M3-nätverket
Gå till innehåll

FieldValidator tillsammans med PagedDataSource


dkz

Rekommendera Poster

Jag har en gästbok som innehåller inputformulär samt en pagead repeater på samma sida. Problemet är att när jag ska bläddra i pagingen så går inte detta eftersom jag i input fälten har en validator.

 

För att kunna bläddra i pagingen så måste jag lägga in data i textfälten.

 

Hur kommer jag lättast förbi detta?

[log]<%@ Page validateRequest="false" %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.OleDb" %>

 

<script language="vbscript" runat="server">

 

Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)

'''' Response.CacheControl = "no-cache"

'''' Response.AddHeader("pragma", "no-cahe")

'''' Response.Expires = -1

GetPagingData()

End Sub

 

Private _CurrentPage As Integer

Public Property CurrentPage() As Integer

Get

'''' look for current page in ViewState

_CurrentPage = CInt(ViewState("CurrentPage"))

Return _CurrentPage

End Get

Set(ByVal Value As Integer)

ViewState("CurrentPage") = Value

End Set

End Property

 

Sub GetPagingData()

'''' set up connection

Dim objConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & Server.MapPath("../database/db.mdb"))

'''' open connection

Dim objCmd As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM table_gb ORDER BY DatePublish DESC", objConn)

'''' fill dataset

Dim ds As DataSet = New DataSet()

objCmd.Fill(ds, "guestbook")

'''' paging

Dim pagedData As New PagedDataSource()

pagedData.DataSource = ds.Tables("guestbook").DefaultView

pagedData.AllowPaging = True

pagedData.PageSize = 5

pagedData.CurrentPageIndex = CurrentPage

btnPrev.Visible = (Not pagedData.IsFirstPage)

btnNext.Visible = (Not pagedData.IsLastPage)

Dim LastPage As Integer = pagedData.IsLastPage

MyDataList.DataSource = pagedData

MyDataList.DataBind()

End Sub

 

Sub Prev_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs)

'''' Set viewstate variable to the previous page

CurrentPage -= 1

 

'''' Reload control

GetPagingData()

End Sub

 

Sub Next_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs)

'''' Set viewstate variable to the previous page

CurrentPage += 1

'''' Reload control

GetPagingData()

End Sub

 

Sub OnBtnSendClicked(ByVal s As Object, ByVal e As EventArgs)

Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("../database/db.mdb") & ";"

Dim MySQL As String = "INSERT INTO table_gb (Name, Message, DatePublish, IP, UserHostName, UserAgent) VALUES (''''" & Replace(HttpUtility.HtmlEncode(txtName.Text),"''''","") & "'''',''''" & Regex.Replace(Replace(HttpUtility.HtmlEncode(txtMessage.Text),"''''",""), "^(?:\r\n)+|(?:\r\n)+$|((\r\n)\2)\2+", "") & "'''',''''" & datetime.Now() & "'''',''''" & Request.UserHostAddress() & "'''',''''" & Request.UserHostName() & "'''',''''" & Request.UserAgent() & "'''')"

Dim MyConn As New OleDBConnection(strConn)

Dim cmd As New OleDBCommand(MySQL, MyConn)

MyConn.Open()

cmd.ExecuteNonQuery()

MyConn.Close()

txtName.Text = ""

txtMessage.Text = ""

'''' Reload control

GetPagingData()

End Sub

</script>

 

<form id="gb" runat="server">

Namn:

<asp:RequiredFieldValidator runat="server" ID="validNameRequired" ControlToValidate="txtName" ErrorMessage="NAMN SAKNAS!" Display="Dynamic" /><br />

<asp:TextBox class="input" id="txtName" MaxLength="35" size="20" runat="server" /><br/>

Meddelande:

<asp:RequiredFieldValidator runat="server" ID="validMessageRequired" ControlToValidate="txtMessage" ErrorMessage="MEDDELANDE SAKNAS!" Display="Dynamic" /><br />

<asp:TextBox class="input" ID="txtMessage" MaxLength="100" size="500" runat="server" TextMode="MultiLine"/><br /><br />

<asp:Button class="submitbutton" id="btnSend" text="Skriv i g&auml;stboken!" OnClick="OnBtnSendClicked" runat="server" /><br /><br />

 

<table width="500px">

<tr>

<td width="150px"><asp:imagebutton id="btnPrev" runat="server" OnClick="Prev_Click" ImageUrl="../images/prev_fade.png"></asp:imagebutton></td>

<td width="200px">Sida: <%=_CurrentPage+1%></td>

<td witth="150px"><asp:imagebutton id="btnNext" runat="server" OnClick="Next_Click" ImageUrl="../images/next_fade.png"></asp:imagebutton></td>

</tr>

</table>

 

</form>

<asp:Repeater id="MyDataList" runat="server">

<ItemTemplate>

<div class="gb_head"><%# DataBinder.Eval(Container.DataItem, "DatePublish").toLongDatestring() %> klockan <%# DataBinder.Eval(Container.DataItem, "DatePublish").toShortTimestring() %> ifr&aring;n

<a href="javascript:void(0);" onmouseover="return overlib(''''UserHostAddress: <%# DataBinder.Eval(Container.DataItem, "IP") %><br>UserHostName: <%# DataBinder.Eval(Container.DataItem, "UserHostName") %><br>UserAgent: <%# DataBinder.Eval(Container.DataItem, "UserAgent") %>'''');" onmouseout="return nd();"><%# DataBinder.Eval(Container.DataItem, "Name") %></a></div>

<div class="gb_body"><%# DataBinder.Eval(Container.DataItem, "Message") %></div>

</ItemTemplate>

</asp:Repeater>[/log]

 

LOG-taggar tillagda av moderator

 

[inlägget ändrat 2007-10-24 17:22:34 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...