I have an ASP.NET project using C#. I'm loading data (Username, email, etc...) from a sqlite database with C# (using ADO). I'll be loading the data into static Global variables in a class file in my App_Data folder. I need to be able to insert the username into an ASP.NET Label on a page during load.
Can someone explain to me the rules around what can and cannot be evaluated/inserted into markup using the <%# %> and <%= %> tags in asp.net?When I first discovered I could inject code-behind variables into mark-up using <%= I thought 'great'. Then I discovered that if such tags are present you can then not add to the controls collection of the page (that's a whole different question!). But <%# tags are ok.
Is there a way I can inject a code-behind variable or function evaluation into the page using <%# ?
I have a tricky problem and I'm not sure where in the view rendering process to attempt this. I am building a simple blog/CMS in MVC and I would like to inject a some html (preferably a partial view) into the page if the user is logged in as an admin (and therefore has edit privileges).
I obviously could add render partials to master pages etc. But in my system master pages/views are the "templates" of the CMS and therefore should not contain CMS specific <% %> markup. I would like to hook in to some part of the rendering process and inject the html myself.
how to do this in MVC? Where would be the best point, ViewPage, ViewEngine?
I am struggling with something that I guess should be standard practice really. I have a number of user controls that use some JQuery plugins. I do not really want to link to the extra CSS and JS files from my main masterpage as this would cause extra load to the user the first time they hit the site, (admittedly it would only be the once), so I was just putting them links into the top of the user control. Then I looked at my source HTML, not nice! Even worse for controls that repeat multiple times on a page.
So I was thinking is there a way of injecting them into the Head of the page when they are needed from the User Control. For that matter is there a way of doing it to the footer for JS stuff?
I have written a t4 template that basically replaces the work done by StronglyTypedResourceBuilder to give design time access to string resources as properties of classes, one class per resource file. Why? Well I needed to add some customer code that handles string token substitution and a few other customizations. Anyway, the template is working out really well and I may blog on it soon.
In the mean time though, following a common pattern, I have one .resx file for each view, master page, controller, etc. I would really like my t4 template to add a property to each such entity that gives quick access the custom resource class associated with it. For controllers this is easy. T4MVC is ensuring that they are a all declared partial. All I need to do is create the appropriate partial class in my output that declares a readonly property that returns an instance of the appropriate generated resource class.
The Problem:
I would like to do the same thing, inject generated code, into my views. Were this traditional ASP.Net, each .aspx page would have a .aspx.cs page and possibly an .aspx.designer.cs page that are all partial classes extending in the aspx page's class definition. There is no such thing by default in MVC and for good reason. However, I think for my purposes, if there is a way to do this, it would be the way to go.
I could subclass ViewPage and add a generic type parameter and a property that returns the class of that type but that has certain complications. I think adding auto generated code to each view via partial class (that is what partials are for after all) is the way to go.
I have made a basic attempt. I have created a .aspx.cs file for a view and placed a code behind attribute in the page declaration but the class generated from the view seems to reside in a different assembly any my "partial class" ends up as its own class in the same assembly as all my other code.
I am working on Scott Mitchell's ASP.Net in 24 hours book. I am running into what looks like a simple problem that is getting the best of me.
When a page loads, the UserId of the currently logged in user will be retrieved in the page Load event and placed into the Text value of a Label. But, when the page opens when I am running the app, I am getting an error in the lower left corner of the browser. When I open up the error message, I see this:
I have a simple, but probably common problem on how to inject HTML inside an ASP.NET MVC master page. I have a google analytics tracking code that sits on my master page. The code looks like this:
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-1']); _gaq.push(['_trackPageview']); // need to inject ecommerce code here (function () { // google analytics code here })();
I'm using ecommerce tracking and I want to inject the "cart" information in side this HTML on the receipt page (and ONLY on this page). So I do something like this:
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-1']); _gaq.push(['_trackPageview']); <% if(ViewData["googleanalytics"]!=null) {%> <%= ViewData["googleanalytics"] %> <% } %> (function () { // google analytics code here })();
Then in the controller, I have code that looks like this:
[HttpGet] public ActionResult Receipt() { var receipt = // get receipt model // get google analytics javascript. This function pulls // the data from the receipt model ViewData["googleanalytics"] = GetAnalyticsInfo(receipt); return View(receipt); }
i'm about to go through my entire site now wrapping that function around every little text variable one by one and it's going to be a huge pain in the butt
i'm hoping there's a way that i could just set my masterpage to automatically run all text through this thing on any page_load, so that the effect would be site-wide instantly. is this possible?
I have an Html Form that I want to set focus to when the page loads. What I have done is coded the Site.Master to run a javascript function on page load. That js function retrieves a hardcoded form name from the DOM and, if found, sets focus to an input field in that form.
I need to add a Required Field Validator to a text box on my page. When I add the validator the following happens when I run the page:
When I click the submit button the page doesn't submit because the page is invalid. No error message displays despite my having set the ErronMessage. When I click inside the text box that has the Validation, then the Required error message shows. When that textbox loses focus the error message goes away. The only way I can get the page to function correctly is if I create 2 Validators for the same text box. The first validator is set to have an ErrorMessage of "" and the second one is a regular error message.
I have used these before many upon many times and never experienced this. Below you will find the Source code.
[Code]....
This code is the only way I am able to get the validation to function correctly where the ErrorMessage displays when I leave the field blank. I appreciate any help on resolving this issue. I have deleted/re-added the validation control many times. This is the only page this type of error happens on.
I have a list of items that loads when I call the page controller and I have an Ajax.BeginForm that calls the same (Index) Action. If the Action sees that it's an Ajax request (Request.IsAjaxRequest()) then it returns a partial view. I even have a div that contains a message about the results loading. That all works fine, but my results can sometimes take awhile and I'd like to hit the page first and then make the Ajax request so the user sees the page quickly and sees the "loading" message. I know I could click my filter button (triggering the ajax call) using jquery on document.ready, but is there a more MVC way to do this?
The following jQuery code lets me hide and open a panel and set focus on a textbox depending on the setting of a RadioButtonList. There are few problems I have with it (discussed below code).
[Code]....
Problems:
(1) Focus doesn't set on txtSpouse when clicked value is 0. (2) When I put the function in a .js file, neither of the textboxes (txtSpouse and txtMaiden) receive focus. (3) I need to unhide pnlMaiden when the page is loaded and rblGender value is 1.
I found that I don't need to use jQuery or AjaxToolKit to use a textbox with autocomplete instead using the AutoCompleteType() class.However, base in the documentation it says the autocomplete will just trigger after the button was click at first instance, with that description looks like what I want to do will not be applicable.Is it possible to populate the textbox with a list of strings in page load? so that if I type in a textbox it will give me a complete list of strings already.
Can not fire Grid View RowEditing event in page load?
I have a grid view , select the grid line item from popup when click the image button which is located in header template. When click the select button in popup window , fill up the grid row and allow to edit the quantity text box.
In page load If Page.Request.Params("__EVENTTARGET") = "ctl00_popupField" Then AddHandler grdDOLineItem.RowEditing, AddressOf grdDOLineItem_RowEditing End If Protected Sub grdDOLineItem_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) 'bind the grid view row End Sub
I have alot of code in the page load event as below.
Is it best practice to use (!NotPostBack) and wrap the code in this block or does it depend on the methods etc. I also have code which populates ajax slideshow as well which gets images from database.
Question 2 : I made javascript code for client side validation. function loginjs() { if(document.getElementById('txtUserName').value.length==0) alert("UserName cannot be blank"); else if(document.getElementById('txtPassword').value.length==0) alert("Password cannot be blank"); }
this code executes but it is not stopping further code execution. I mean it is only alerts but in addition to that i need to stop further execution.
I need to get the text value of a label which is binding a field insiede a datalist. I can get the value by clicking a button but I need to get this value on page load so that I can make it page.title. here is how I am getting it by clicking a button (also button is inside the datalist);
[Code]....
Here is my page code;
[Code]....
So how can I get this value in page load event. I tried some way but didn't work.