I have just asked which one is better?Static Vs Non-Static? [URL]I would like to take this discussion one step ahead.Consider If i pass reference of Panel control as parameter to Public static method, will static method still rules in performance?
I'm using jQuery and setInterval method in my asp.net web application.
I call the webservice every 5 seconds in order to check for DB changes. When i see a change, i want to change the photo of the linkButton that located on the master page, but i can to that due to static constrains.
An object reference is required for the non-static field, method, or property 'System.Web.UI.Page.Master.get'
my c# code is:
[WebMethod()] public static bool checkDBChange(string userId) { DBConnection dbConnection = new DBConnection(); if (dbConnection.isChanged(userId)) { ((Site1)Master).SetImageUrl = "~/Icons/a.ico"; } return false; }
The SetImageUrl is a setter in my master page that sets the new url to the linkButton. How I can implement it?
I am getting a CS0120 error when trying turn a button visible after checking some variables. In plain english, If AmmohelpSession.UserActions contains AmmohelpEnums.UserAction.ArticleEdit then turn the Edit button visible. Here is my comparison:
[Code]....
In the code behind for AmmohelpSession, a public class AmmohelpSession which contains a private variable: private HashSet<UserAction> _userActions; has been stated. In that same file, there is a public function for the UserActions that does a get or set method.In the code behind for AmmohelpEnums, we are setting byte variables to specific actions. Mine would be something like:
my MasterPage I have a label that reflects the name of the module that the user is currently in. I change the label text accordingly using the following ..
Instead of placing this method in the code-behind of every page, I want to put it in a single class and call it accordingly. I thought of using a static class but do not know how to reference the MasterPage.Can I use a static class? or do I place the method in the code-behind of one page and call Object.Method from the other pages?
I have a static method and need to get the Textbox text in it. But I get "An object reference is required for the non-static field, method, or property 'Members_ETC_Tab5.TextBox1' " when I use TextBox1.text in the static method so I modified my Method as below
[Code]....
but I see that txtBegin is null. How can this be fxed?
I have a private static field in my Controller class in an MVC web application.
I have a static method in that controller that assigns some value to that static field, I want to apply lock on that static field until some other instance method in the controller uses the value stored in the static field and then releases it.
DETAILS:
I have a controller named BaseController having a static ClientId field as follows and two methods as follows:-
public static string ClientId = ""; static void OnClientConnected(string clientId, ref Dictionary<string, object> list) { list.Add("a", "b"); // I want the ClientId to be locked here, so that it can not be accessed by other requests coming to the server and wait for ClientId to be released:- BaseController.clientId = clientId; } public ActionResult Handler() { if (something) { // use the static ClientId here } // Release the ClientId here, so it can now be used by other web requests coming to the server. return View(); }
I did some research after posting. All I found was simple examples for no-layer architectures, like connecting to a database from your aspx page, so, in a corporate environment, it is unnaceptable.
I need to call a server-side method (using ASP.NET Ajax) in a 3-layer architecture.
For example, my Default.aspx contains a method LoadProducts().
[Code]....
[Code]....
This cannot change. There is no way to convert Business and Data layers to static.
How can I call the LoadProducts() method using ASP.NET Ajax?
How do you reference an asp.net control on your page inside a function or a class. private void PageLoad(object sender, EventArgs e) { //An example control from my page is txtUserName ChangeText(ref txtUserName, "Hello World"); } private void ChangeText(ref HtmlGenericControl control, string text) { control.InnerText = text; } Will this actually change the text of the txtUserName control? I tried this and is working private void PageLoad(object sender, EventArgs e) { ChangeText(txtUserName, "Hello World"); } private void ChangeText(TextBox control, string text) { control.Text = text; }
I have an Asp.Net TextBox control whose enabled property I need to evaluate using a separate (from the code-behind of the containing page) class. The way I want to do this is:
The reason I need to pass a reference to the calling control is to see if there are other properties I may need to consider before disabling it. The 'this' keyword, however, refers to the page as a whole. And since my TextBox can be within a FormView, or GridView, I can't easily just get the control byexamining 'page.myTB'. I don't want to have to start ploughing through GridViews on the receiving class file just to retrieve a reference to the TextBox.Does anyone know how to refer to the control inline in this way?EDIT 1: This will need to be done to several different types of server control, such as ListBox, CheckBox, RadioButtonList, etc.EDIT 2: The best I've come up with so far is:
<asp:TextBox ID="myTB" runat="server" Enabled="<% ToggleControl(myGridView.FindControl("myTB") as WebControl, "someBusinessValue") %>"
I'm using V.S. 2008 and asp.net MVC. I have a form in this page that user selects various items from Select controls. I then construct a string varible that contains each selected element's id a hidden input control that holds this information. How can I pass this variable (and it value of course) to a Controller Action? I am using regular Html Form and the Submit button.
In the following code you see the "ResearchInterests" is the one that holds the string but I can't even reference it in my Controller action, Search. How can I correct this?
I am having a dropdown server control on view, when the user clicks the submit btn at that time the form gets posted. and a action method in view controller is called with verb=post.
But the problem is that how should i get reference to the dropdown server control in the action method of view controller?
I have a custom control that is based off the gridview control located at: here The control is basically a gridview that automatically creates a column of checkboxes that can be used to "check" individual rows in the gridview. During the gridview's "CreateColumns" event, the "checkboxcolumn" is created dynamically. The checkboxcolumn also contains another checkbox in the header that is used to "select/deselect all" checkboxes in the column. Since the gridview does not automatically remember the state of the checkboxes in the checkboxcolumn on postback, I added a method to the control called "SaveCheckBoxState" which stores the indexes of the checked rows in Viewstate, and then I modified the "OnRowDataBound" event to check the Viewstate and reset the checkboxes based on the Viewstate.
I then added a call to "SaveCheckBoxState" in the gridview's OnSorting and OnPageIndexChanging events. This works great so long as I'm sorting or changing pages. However, I need it to update the viewstate everytime someone clicks or unclicks one of the checkboxes. At this time, the checkboxes are rendered with an onclick event that calls some javascript to highlight the row, or in the case of the checkbox in the header, to select/deselect all checkboxes. I need to call the "SaveCheckBoxState" method from the javascript used by the customcontrol, or I need to find a way to modify viewstate from javascript and perform the same action as "SaveCheckBoxState".
I've tried adding the "SaveCheckBoxState" to the onclick event declaration in the checkboxes, but when run, it simply tells me that the method is undefined. It doesn't exist in the parent page, and I don't think I should have to make an event for the parent page to pass the click to. It seems to me this should be all self contained within the custom control. Does anyone know how I can acheive this? Here is the code for the gridview OnPreRender event where the onclick event of the checkbox is set:
protected override void OnPreRender(EventArgs e) { // Do as usual base.OnPreRender(e); // Adjust each data row foreach (GridViewRow r in Rows) { // Get the appropriate style object for the row TableItemStyle style = GetRowStyleFromState(r.RowState); // Retrieve the reference to the checkbox CheckBox cb = (CheckBox)r.FindControl(InputCheckBoxField.CheckBoxID); // Build the ID of the checkbox in the header string headerCheckBoxID = String.Format(CheckBoxColumHeaderID, ClientID); // Add script code to enable selection cb.Attributes["onclick"] = String.Format("ApplyStyle(this, '{0}', '{1}', '{2}')", SelectedRowStyle.CssClass, style.CssClass, headerCheckBoxID); // Update the style of the checkbox if checked if (cb.Checked) { r.BackColor = SelectedRowStyle.BackColor; r.ForeColor = SelectedRowStyle.ForeColor; r.Font.Bold = SelectedRowStyle.Font.Bold; } else { r.BackColor = style.BackColor; r.ForeColor = style.ForeColor; r.Font.Bold = style.Font.Bold; } } }
We have a Static class that 's called CData in our asp.net c# app.It handles all the data layer CRUD functionality on our pages.
Problem is, were are losing the intellisense reference in our pages to it.For example: we would expect to type CData.(dot) and have a list of methods and properties available to us.
Nope. Not there.
I kind of thought it was because the file was getting too long at 3000 lines of code, since some other static classes were working ok.
So then I thought that I'd try wrapping the CData Class in a namespace. That worked, but of course I had to put an include statement of the top of each page that's using CDATA, also, now some of the other developers are getting errors in there pages complaining about missing methods that are in CDATA, but their pages are not seeing.
public static string Greet(string name) { string greeting = "welcome "; // is it possible to pass this value to a label outside this static method? string concat = string.Concat(greeting, name); //error Label1.text = concat; //I want to return only the name return name; }
As you can see in the comments, I want to retain only the name as the return value, however I want to be able to take out the value of the concat variable to asign it to a label, but when i try the compiler refuses, can it be done? Is there a work around?
Aplogies if this has been discussed before but I couldn't find an answer.
I'm trying to use jquery/Ajax to access some webmethods in my codebehind. This is fine, but I would in my function like to reference a placeholder (phStory in the code below) on my page and also load a usercontrol into that placeholder.
Unfortunately I get the message: "An object reference is required for the non-static field, method, or property 'TestControls.phStory' " and similar for the usercontrol. Does anyone know how I can still access my placeholder and usercontrol from within this.
It has to be stati as it's a WebMethod but this then throws up these errors.
I have a base class with several derived classes. I want all of my derived classes to have the same Public Shared (static) method with their own implementation. How do I do this?
From client side, I need to call a server method that is not static. For example, I got the following user control ucData (private instance of code-behind) that is Databind in the load event. The server method I need should return ucData.IsValid(). So it can't be static
I have some confusion with singleton class, below are my some points:
1.Can singleton class have static method?,if yes then how we call that methods? 2.what is main difference between Static class and Singleton Class?
I have created my singleton class as follows:
[Code]....
In Above class structure I have created two method one is Static and second is non static, When I am trying to access Static Method it gives me compile time error.
I have a number of pages which need to support exporting data to an Excel spreadsheet. I can generate the Excel files just fine, but I'm trying to work out how to abstract this behavior so it's easily reusable from all of the pages where I need it. My current idea is to use a static utility method, as follows:
[Code]....
The click handler where I'm calling SendExcelFile looks like this:
This code works just fine as an instance method of the calling page. As a static method, though, it doesn't work at all. When I click the button that invokes this, the browser shows the loading animations indefinitely, but never prompts for a file download.
EDIT: If I remove the call to File.Delete() at the end, the method works as expected. Does Response.TransmitFile() do the transfer asynchronously?
EDIT 2: I just needed to call Response.Flush() before I deleted the file.
Imports System.Web.Mvc Public Class AssetController Inherits Controller Public Shared Function ScriptTag(ByVal src As String) As String Return String.Format( "<script type='text/javascript' src='/js.mvc?src={0}&{1}'></script>", System.Web.HttpContext.Current.Server.UrlEncode(src), New BuildVersion().ToString() ) End Function End Class
The project has a reference added to the 3.0.0.0 version of System.Web.Mvc assembly. When I try to view the page in a browser, I get a HTTP 500 with this message:
BC30007: Reference required to assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' containing the base class 'System.Web.Mvc.Controller'. Add one to your project.
What gives? I don't understand why I can use this controller everywhere in our ASP.NET Forms/MVC hybrid application, but not in a view. EDIT: In fact, when I type <% System.Web. into the .aspx view, Mvc doesn't even appear in Intellisense!
I hate to see the name of the class used as a string parameter like "FileDownloader" in the code, and I would like to use something like this FileDownloader.Name(), where FileDownloader is name of the class. Only problem is that I can't find out how to do that without instantiating object or creating a static method...
Is there a way to get a class name in .net without having the object instance and without creating a static method that returns the name of the class?