C# - Update Web Form Using Custom Events?
Aug 26, 2010I have 2 buttons on page, where button1.visible = false.Page code behind:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
[code]...
I have 2 buttons on page, where button1.visible = false.Page code behind:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
[code]...
i just want to use a calendar with events like date selection update,delete,creat events. and i want to do this with sql server 2005. I started my project with webApple.
and the secound, i just cand find whats wrong in this
[Code]....
the problem line is
[Code]....
I need to do a custom update for a form view (I think/know), as some of the parameters that are required for updating values should not be updated by the users, such as userid of the person performing the action which is passed back to the database for auditing purposes.
Additionally, there are some fields, such as LastUpdatedBy, LastUpdatedDate that need to be seen, but not edited. The stored procedure on the backend takes care of this, and these are not parameters for the Update method. The FormView by default is trying to pass all these values back to the database.
Lasty, the select query of the object datasource is a stored procedure that performs several joins based on PF/FK relationships to bring back more meaningful information than just a FK, so some columns are just the joined value, and can not be updated directly. Again, formview is trying to pass these parameters
So given that, I have defined the following even handler for a simple form view:
(not sure if this is the way to proceed given the above, but...)
protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{
ProjectDetailsDataSource.UpdateParameters.Clear();
ProjectDetailsDataSource.UpdateParameters.Add("projectID", ((Guid)e.Keys["ProjectID"]).ToString());
ProjectDetailsDataSource.UpdateParameters.Add("projectName", (string)e.NewValues["ProjectName"]);
ProjectDetailsDataSource.UpdateParameters.Add("description", (string)e.NewValues["Description"]);
ProjectDetailsDataSource.UpdateParameters.Add("projectTypeID", "1");
ProjectDetailsDataSource.UpdateParameters.Add("statusID", "1");
ProjectDetailsDataSource.UpdateParameters.Add("productID", null);
ProjectDetailsDataSource.UpdateParameters.Add("isComplete", ((bool)e.NewValues["IsComplete"]).ToString());
ProjectDetailsDataSource.UpdateParameters.Add("isActive", ((bool)e.NewValues["IsActive"]).ToString());
ProjectDetailsDataSource.UpdateParameters.Add("userid", Membership.GetUser().ProviderUserKey.ToString());
ProjectDetailsDataSource.Update();
FormView1.ChangeMode(FormViewMode.ReadOnly);
e.Cancel = true;
}
My questions are as follows:
1) Is this the right approach?
2) Is so, when I cancel the edit (because I did the update myself), and change mode, the FormView returns to read only mode as inteneded (good so far). However, when I hit F5 (refresh), the ItemUpdating method is called again, and updates the database.
how to catch update panel's request start (before partial updation request is sent to server) and response receive (before update panel is updated) events.
View 1 RepliesI am working in a school and we recently installed a new server running WinServer 2008R2. I want to be able to point people to a URL on our intranet and have them fill out a simple registration form and have this data written to a database. It would also be nice to have some data auto-populate (such as their name).
Is it overkill to set up a sharepoint server and try to do this with Access Webforms? Could I use something like dotnetnuke and find a module that works? Or how about options for writing custom forms?
What I'm trying to do is rather basic, but I might have my facts mixed up. I have a details page that has a custom class as it's Model. The custom class uses 2 custom objects with yet another custom object a property of one of the 2. The details page outputs a fair amount of information, but allows the user to post a comment. When the user clicks the post button, the page gets posted to a Details action that looks something like this:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Details(VideoDetailModel vidAndComment) { ....}
[Code]....
The only fields on the form that is posted are CommentText and VideoId. Here is what the VideoDetailModel looks like.
public class VideoDetailModel
{
public VideoDetailModel()
{
[Code]....
I suppose if I added more form fields for the properties I need, they would get posted, but I only need 1 form entry field for the CommentText. If I could get the same Model objects value that were sent to the page to post with the page, it looks like the solution is rather simple. I think using the RenderPartial in the middle of a form is problematic somehow to how the form gets written in html. I can't really put my finger on why things went bonkers, but if I do my RenderPartials before my form and then begin my form with the text entry field and the hidden VideoId, the default ModelBinder works just fine. I was beginning the form, writing the hidden VideoId, rendering several partial views, create my CommentText field, and then closed the form out. The CommentText field would get bound just fine. The hidden VideoId would not. Maybe I missed a rule somewhere about using RenderPartial.
For completeness, the partial view I was rendering took a Comment object and just wrote out it's CommentText data. Several of these objects would exist for a single Video object. All of this data was in a custom type and passed into the View (the main view) as it's Model. This partial view did not have a form and did not have any data entry fields.
I'm building a library of custom controls. My controls are inherited from CompositeControl. Depending on the user's answer I have to insert more custom control. I have a PlaceHolder (_ph) passed in from the client code. I insert my controls into that PlaceHolder.
My problem is the control I inserted in the event handler does not fire its event, but it fires the parent event. For example, if I have an EddDropDown A, and the user picks an answer, I have to create EddDropDown B and C in edd_SelectedIndexChanged. When I pick an answer for B, it fires SelectedIndexChanged for A instead of B.
I think it has something to do with entering the page cycle late.
this is an example of my controls:
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
[Code]....
I have 2 web user controls, both inherit the same base class which extends UserControl. I want to raise an event on one and the other should be aware of it. both are on the same page however the 2nd control never handles the custom event i raised on the 1st one !
View 2 RepliesI have custom server control contains templatefield when an out button clicked the field disappear , when can I rebind the control (inside its class) supposed that Control.Page.OnInit+=new EventHandler(rebind()) doesn't do any things ?
View 4 RepliesThis may sound silly, but I need to find out how to handle an Update event from a GridView.First of all, I have a DataSet, where there is a typed DataTable with a typed TableAdapter, based on a "select all query", with auto-generated Insert, Update, and Delete methods.Then, in my aspx page, I have an ObjectDataSource related to my typed TableAdapter on Select,Insert, Update and Delete methods. Finnally, I have a GridView bound to this ObjectDataSource,with default Edit, Update and Cancel links.How should I implement the edit functionality? Should I have something like this?
protected void GridView_RowEditing(object sender, GridViewEditEventArgs e)
using(MyTableAdapter ta = new MyTableAdapter())
ta.Update(...);
[code]...
I created a customDropdown usercontrol with Events and It worked fine.
Now I stored the path of the ascx file in the database table and i want to Load the ascx file and handle the Events dynamically in an aspx page.
To Load the usercontrol and access the public properties and method, I need to know the object i am trying to load, right?
For Example
FeaturedDDL c = (FeaturedDDL)Page.LoadControl("~/FeaturedDDL.ascx").
But I dont want to hardcode objectType "FeaturedDDL", coz i dont have that stored in my Database field.
Since I am loading the usercontrol by getting the path and name of the usercontrol from the database table,how will I know the ObjectType at that time?
How to accomplish that and also how to handle the events for these type of situation?
I am new to server controls. wanted to know what are the methods and events that has to be written or thought about. which is apartt from the ones inherited from composite controls.
View 3 RepliesI basically have an update panel being dynamically populated with a LinkButtons after a postback. This link buttons are being assigned an event. Now when I click the button the event is not firing. As I understand it the event is not firing because I'm not creating the button in the Page_Load event and therefore .Net does not remember this controls were created after postback. I'm not able to create these controls in the Page_Load as they are dependant on user input. So my question is how can I create these controls dynamically and have the page retain them and their events after postback?
View 4 Repliesi am using ajax update panel for all my webpages but not able to debug on the events on the panel.
View 1 RepliesI have a Custom Repeater control that inherits from Repeater and has paging functionality, however when I click the next page button the first time it refreshes the control but does not change the page, if I click it again after that it changes page perfectly. I know what the issue is, when I click the next button it does a postback, then the data is bound to the repeater, and then after that the NextButton Event is handled.
Is there any way I can change the order of the page load events?? Or force the repeater to reload again after the event is handled?? I've included my Custom Repeater class bellow:
using System.Web.UI.WebControls;
using System.Web.UI;
using System.Data;
using System.Collections;
using System;
namespace ASPresentation.Controls
{
[ToolboxData("<cc:PagedRepeater runat=server></cc:PagedRepeater>")]
public class PagedRepeater : Repeater
{
public int PageSize { get; set; }
public int CurrentPageIndex
{
get
{
return Convert.ToInt16(Page.Session["ProjectIndex"]);
}
set
{
Page.Session.Add("ProjectIndex", value);
}
}
public PagedDataSource pagedData = new PagedDataSource();
LinkButton NextBtn = new LinkButton();
LinkButton PrevBtn = new LinkButton();
public bool IsLastPage
{
get
{
return pagedData.IsLastPage;
}
}
public bool IsFirstPage
{
get
{
return pagedData.IsFirstPage;
}
}
public override object DataSource
{
get
{
return base.DataSource;
}
set
{
pagedData.DataSource = (IEnumerable)value;
}
}
protected void NextButtonClick(object sender, EventArgs e)
{
if (!IsLastPage)
{
CurrentPageIndex++;
}
}
protected void PrevButtonClick(object sender, EventArgs e)
{
if (!IsFirstPage)
{
CurrentPageIndex--;
}
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
NextBtn.Text = "Next";
PrevBtn.Text = "Prev";
NextBtn.Click += new EventHandler(NextButtonClick);
PrevBtn.Click += new EventHandler(PrevButtonClick);
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
base.Controls.Add(PrevBtn);
base.Controls.Add(NextBtn);
}
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
}
public override void DataBind()
{
pagedData.AllowPaging = true;
pagedData.PageSize = PageSize;
pagedData.CurrentPageIndex = CurrentPageIndex;
base.DataSource = pagedData;
base.DataBind();
}
}
}
am creating a custom server control and there are textbox and button.
I want to add event button to let user execute his/her own code.
I mean my event must show in Events menu at VS (like Property)...
the following image show :
for my dynamic user control, i am trying to do any event from that control (delete, update .... etc) but it disappeard when i make any event! this the code in the page to load it dynamically:
[Code]....
I have a Gridview displaying Titles.I would like those titles to be LinkButtons that would cause event to update an AJAX UpdatePanel containing details about the Projects.I would not like the Gridview to be in the Ajax UpdatePanel and refresh on every click, rather just refresh the UpdatePanel.
View 2 RepliesI would like a website (Master Page) to show the date, not only when you refresh a Web page.
Timer is not right.
My code:
Label1.Text = DateTime.Now.ToString ();
I want to update every second.
I'm trying to create multiple update panels to add to an accordion pane with timers with a _tick event to update the respective update panel on the page_load event.
[code]....
I have a custom control which inherit from the Table class and in the constructor, it takes a an integer as an argument. There is no empty constructor.
Is there a way for the user to set that variable in the properties window after they drag the control onto a form.
I know some .NET controls, you can set the source for the parameter to different things like another control's property, QueryString using just the properties window.
Right now, I have to create the control dynamically. I read the query string and then created the object.
I have a datagrid with linkbutton within the datagrid. When i click on link button there is no response. I have tried in different ways like
1. after data binding to the datagrid updatepanel1.Update()
2. AsyncPostBackTrigger ControlID="lnk1" EventName="Tick"
How to fire the linkbutton
I need to update datalist in image gallery when fileupload has been completed.
<div style="display: block;">
<div>
<div style="padding-left: 15px; padding-right: 15px;">
<div>
<uc1:ctrlFileUpload ID="ctrlFileUpload1" runat="server" />
<uc2:ctrlImageGallery ID="ctrlImageGallery1" runat="server" />
</div>
<div>
</div>
</div>
</div>
</div>
In the Control File Upload I need to fire the the other ctrl to refresh the page.
<asp:UpdatePanel ID="UpdatePanelUploadArea" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<span>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:Button ID="UploadButton" runat="server" Text="Upload Now" OnClick="UploadButton_Click" />
<asp:Label ID="lblResult" runat="server" ForeColor="#0066FF"></asp:Label>
<br />
</span>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="UploadButton" />
</Triggers>
</asp:UpdatePanel>...........
I have a custom control, that has takes some information from user and submit to the database. it is working fine in normal aspx pages. but when i display that custom user control in jQuery modal popup. The events does not fire or lets say the data is not submitted to the database.
View 3 RepliesI have a user control with a textbox and a gridview. When data is entered into textbox it has to get data from the database and populate in the gridview. The grid view has add,edit and delete events.The user control is loaded dynamically multiple times on to the page.My issue is when i have 2 or more user controls and if textbox of usercontrol1 is changed, it reloads both the controls and fires the postback event of textbox twice each for the user control, where as it has to execute only once. due to which the data modifications in the grid are lost as it pulls back the data once again from the database.
View 3 Replies