Showing posts with label field. Show all posts
Showing posts with label field. Show all posts

Wednesday, March 28, 2012

asp.net Ajax MaskedEditExtender

I am trying to use a MaskedEditExtender in a Gridview, with a Date/Time Template Field.

When i enable the Extender, then when i choose to edit the row, nothing appears. As soon as i Disable the extender than the edit boxes appear.

Any ideas?

<cc1:MaskedEditExtenderID="MaskedEditExtender3"runat="server"MaskType="DateTime"AcceptAMPM="true"

AutoComplete="true"ClearTextOnInvalid="true"mask="99/99/9999 99:99:99"

Enabled="False"TargetControlID="TextBox1">

Hi Kevers,

To see the effect, MaskedEditExtender's Enabled is set to "true". Here is a sample which you can reference to.

<form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> <Columns> <asp:CommandField ShowEditButton="True" /> <asp:BoundField DataField="EmployeeID" HeaderText="EmployeeID" InsertVisible="False" ReadOnly="True" SortExpression="EmployeeID" /> <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" /> <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" /> <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" /> <asp:TemplateField> <ItemTemplate> 2007-10-04 10:20:30 </ItemTemplate> <EditItemTemplate><asp:TextBox ID="TextBox1" runat="server" Text="10/04/2007 10:20:30"></asp:TextBox> <ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender1" runat="server" Mask="99/99/9999 99:99:99" MaskType="DateTime" TargetControlID="TextBox1" AcceptAMPM="true"AutoComplete="true" ClearTextOnInvalid="true" Enabled="true"> </ajaxToolkit:MaskedEditExtender> </EditItemTemplate> </asp:TemplateField> </Columns> </asp:GridView><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NORTHWNDConnectionString%>" SelectCommand="SELECT [EmployeeID], [LastName], [FirstName], [Title] FROM [Employees]" DeleteCommand="DELETE FROM [Employees] WHERE [EmployeeID] = @.EmployeeID" InsertCommand="INSERT INTO [Employees] ([LastName], [FirstName], [Title]) VALUES (@.LastName, @.FirstName, @.Title)" UpdateCommand="UPDATE [Employees] SET [LastName] = @.LastName, [FirstName] = @.FirstName, [Title] = @.Title WHERE [EmployeeID] = @.EmployeeID"> <DeleteParameters> <asp:Parameter Name="EmployeeID" Type="Int32" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="LastName" Type="String" /> <asp:Parameter Name="FirstName" Type="String" /> <asp:Parameter Name="Title" Type="String" /> <asp:Parameter Name="EmployeeID" Type="Int32" /> </UpdateParameters> <InsertParameters> <asp:Parameter Name="LastName" Type="String" /> <asp:Parameter Name="FirstName" Type="String" /> <asp:Parameter Name="Title" Type="String" /> </InsertParameters> </asp:SqlDataSource> </form>

I hope this help.

Best regards,

Jonathan

Wednesday, March 21, 2012

ascx pages in tabs, tabs positioning with tabseparator.

How to load an ascx page into the tabs.

Does Ajax tabcontainer has any field something like "tabseparator" with which i can place few tabs on left and few on right side of the page?

Hi,

You can use the following code to load UserControl into a tab.

Control uc = Page.LoadControl("relative path to the .ascx file");

tabPanel.Controls.Add(uc);

And as far as I konw, there is no tabSeparator currently.


Well, its a different story... am writing a custom tab thru a class library which would get the configuration of tabs and their content from other files...

and this classlibrary would give me a final builded tab control, which i would add to my page.

so how to make the same page.loadcontrol(path of file) in class library


You can use a path relative to the root folder (a path starts with tilde, e.g., ~/.... ). Then no matter on which page is control is added, it will be able to find the user control.

argumentNullException with gridview paging with toolkit control in template field

hi

I have a simple page with a gridview. the item template has an AjaxControlToolkit:confirmButtonExtender. All is good until I tried to enable custom paging in the gridview and object data source. the first page loads but when I click on the 2nd page I get an argumentNullException thrown. The Page argument is null. I can make paging work by removing the AjaxControlToolkit:confirmButtonExtender. Anybody got any ideas about this?

Value cannot be null. Parameter name: page

stack trace:

at Microsoft.Web.UI.ScriptManager.GetCurrent(Page page)
at AjaxControlToolkit.ExtenderControlBase.EnsureScripts() in d:\TFS\AtlasControlToolkit\Release\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:line 129
at AjaxControlToolkit.ExtenderControlBase.GetScriptReferences() in d:\TFS\AtlasControlToolkit\Release\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:line 515
at Microsoft.Web.UI.ExtenderControl.Microsoft.Web.UI.IExtenderControl.GetScriptReferences()
at Microsoft.Web.UI.ScriptControlManager.RegisterScriptsForExtenderControls()
at Microsoft.Web.UI.ScriptControlManager.RegisterScripts()
at Microsoft.Web.UI.ScriptManager.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Page:

<%@dotnet.itags.org.PageLanguage="C#"MasterPageFile="~/SheetDataEntry.master"AutoEventWireup="true"CodeFile="SheetList.aspx.cs"Inherits="SheetList"Title="Untitled Page" %>
<%@dotnet.itags.org.RegisterAssembly="AjaxControlToolkit"Namespace="AjaxControlToolkit"TagPrefix="ajaxToolkit" %>
<%@dotnet.itags.org.RegisterAssembly="Microsoft.Web.Preview"Namespace="Microsoft.Web.Preview.UI"TagPrefix="asp" %>

<asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"DataSourceID="ObjectDataSource1"OnRowCommand="GridView1_RowCommand" AllowPaging="true"pagesize="2">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl='<%# Eval("Uid", "SheetEdit.aspx?SheetUid={0}") %>'Target="_parent"Text='<%# Eval("SheetId", "Edit {0}") %>'></asp:HyperLink>
<asp:LinkButtonID="LinkButton1"runat="server"CommandArgument='<%# Eval("Uid", "{0}") %>'CommandName="DeleteSheet"OnClick="LinkButton1_Click">Delete

<ajaxToolkit:ConfirmButtonExtenderID="ConfirmButtonExtender1"runat="server"ConfirmText='Are you sure you want to delete?'TargetControlID="LinkButton1"
BehaviorID="ctl02_ConfirmButtonExtender1"Enabled="True"
>
</ajaxToolkit:ConfirmButtonExtender

</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundFieldDataField="SheetId"HeaderText="SheetId"SortExpression="SheetId"/>
</Columns>
</asp:GridView>

<asp:ObjectDataSourceID="ObjectDataSource1"runat="server"OldValuesParameterFormatString="original_{0}"
OnObjectCreating="ObjectDataSource1_ObjectCreating"SelectMethod="SelectAll"TypeName="Bst.Rincon.BL.SheetInformation.SheetListJunction"
EnablePaging="true"SelectCountMethod="SelectCount">
</asp:ObjectDataSource>

</asp:Content>

here's an explanation of the underlying problem:

Known Issue & Workaround: Extenders no longer work in templated controls:http://forums.asp.net/thread/1441672.aspx

for now i can continue without the ConfirmButtonExtender. And I can tell the boss that I didn't break it... Yipee!

Cheers,

Alan Grant