MVC :: Get Original Model In An Ascx Template?
Oct 8, 2010Get original model in an ascx template
View 2 RepliesGet original model in an ascx template
View 2 RepliesThis is my layout template (ascx without code behind)
<%@ Control Language="C#" AutoEventWireup="true" Inherits="ws.helpers.LayoutUC" %>
<div>blah blah blah</div>
<ws:Panel runat="server" ID="left"></ws:Panel>
<ws:Panel runat="server" ID="main"></ws:Panel>
<ws:Panel runat="server" ID="right"></ws:Panel>
I've been working on the Music Store tutorial and I cannot get my site to utilize the Album.ascx view template. For now I'll give the short version of my problem because I'm thinking I'm just missing something obvious. I'll provide further elaboration/code if needed. I'm stuck on Part 4. From my understanding, after adding the Shared folder and adding the Album.ascx partial file, I should be seeing this after browsing to the Store Manager Index and selecting an album to edit: Instead, I'm still seeing this: I even copied the code from the dowloaded solution for the Edit.aspx and Album.ascx files. It seems my project is completely disregarding my View Template.
View 1 RepliesI've been using VS2010 to look at the new ASP.NET and specifically MVC 2. I have gone through the 0.8 release of the MvcMusicStore sample on CodeProject (good job so far).
Now, I'm working on a project to explore MVC more deeply and after creating a table in a local SQL table, I went to create an ADO.NET entity data model to work with the table data. When I get to the list of templates, the total list of templates are:
SQL Server Database Text File XML File XML Schema That's everything (meaning when C# is selected at the top of the dialog's installed templates).
I've re-installed VS2010 (gone through the control panel and the maintenance option for VS2010). There's no Linq, Data Set, Database Unit Test, nothing....
It was there before, it's not now.
UPDATE : I did find this article: [URL] I did run devenv /installvstemplates. It ran without errors, however, the error still persists.
The article said if the "solution" was not a real solution, to re-install VS2010 (Really???). So I went to do so. The ADO.NET entity object framework is installed.
Why would VS2010 "forget" something so intrinsic?
I have to build a few ascx partial views in my MVC applications to encapsulate re-usable functionalities as well as archive SOR and SOC. However, I encountered challenge how to encapsulate the business logic that drives MVC ascx views.In webforms, the code behind of an ASCX control can handle a button click event and browser still shows the same page with only one postback. How can I archive the same thing in MVC? When ~/Address/Edit/2 includes an ascx partial view with a button on it that calls another MVC action - let's say ~/ShareController/CommonAction - what is the best way for the CmmonAction to return to the very same view that includes the ascx file?Perhaps I am missing a common pattern in MVC web development?
View 5 RepliesI am having difficulties how to construct my question, but if I have to put it simply the situation is that I have categories of products. I have an aspx with a repeater on the left that lists the categories. And I want the products to be listed on the right. Category number is variable so I made an ascx with a DataList in it. When I try to do foreach category, ascx = new ascx(); then the DataList within this ascx control is null.
ps: what I want to do is to preload all the products (thre is not much) and hide the divs and fadein fadeout them using jQuery when a category div is clicked.
rightnow it is using jQuery.load(); and I don't like how the images load, cuz they download from top to bottom. Progressive gifs alsdo not an option. site demo is here [URL]
I'm developing second language support for the site. So I made duplicate .ascx and .aspx files for existing ascx.cs and aspx.cs
Most of the time everything works fine.. but suddenly I'm getting:
Type 'ctrl_car' exists both in 'c:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files
zhdengined072cc729d5698bApp_Web_xdmblegv.dll', and in 'c:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files
zhdengined072cc729d5698bApp_Web_gkptrzo2.dll' (translated from russian)
ctrl_car ctrl = (ctrl_car) LoadControl("car.ascx");
I have few such strings of code... and same error occurs with one of them. But WITHOUT any changes from me with those files. To fix thaat bug for some time I need to delete solution and website folder and reget them from SS. Solution was converted from vs2005.
i have made a BaseUserControl.ascx and a ChildUserControl.ascxfile. both have its own code behind file.So what i want, i wanted to inharit ChildUserControl.ascx fileto BaseUserControl.ascx. so whatever in my BaseUserControl.ascx fileshould be visible into the ChildUserControl.ascx,means if i have kept a TextBox in BaseUserControl.ascx should be visibleinto the ChildUserControl.ascx desing view. and it should be accessible into the ChildUserControl.ascx code behind file.
1) Is this possible, if yes then how?
2) if above is possible then How to access BaseUserControl.ascx code behind file into the ChildUserControl.ascx code behind file?
I'm building an MVC 2 RTM app, and I want to be able to share my model across applications. I'd *like* to be able to implement it like:ASP.NET MVC2 app (holds Views and Controllers)Class library to hold Model(s)WCF app to handle the data transactions with the models via different data stores across apps I had the MVC app working fine, but I wanted to abstract the data stuff and be able to work with the model across apps through the WCF site, so I created a class library project and moved all of the Models classes into that and set-up a WCF app, then added project references to the MVC and WCF apps that point at the class library. The idea was I can create services that take and return objects from the model via method calls across apps. It appears that everything's wired up correctly in the MVC project, so I'm passing the objects stored in the Models class library between controllers and views and everythig is compiling just fine, but for some reason the data is not being passed back from the views to the controller on POST -- all of the properties in the classes are null or empty.
When I debug the app, I can see that the values are stored in the model data dictionary but not the model object itself. What am I doing wrong? Am I on the wrong path, or missing something obvious (to some)?
Is it possible, inside a Custom Model Binder, to fire "something" that "says" the value is invalid so it gets handled by validation part?
Basically, I am getting an exception when the value for the property is invalid.
I made a few changes to the DB in SQL server management studio then right clicked on the .edmx doc to get it to update. That seemed to work fine but when i compiled the app everything that referenced the EF seems to be broken.The Error list now contains the below error for all classes that used it.
The type or namespace name '' could not be found (are you missing a using directive or an assembly reference?)
I have an issue of static variable in an asp.net application. Let's say I have a server with 8 CPUs running windows 2008 R2 hosting an asp.net webbsite, nothing fancy here, no funny configuration.
Is the following statement true? at any single time, there's one and only one process is running and accepting requests, even in the recycling stage. The reason I am asking is: I have a static field in my class, and I want to make that's the only static instance in the website. I've heard in some circumstances, IIS is recylcing your application, and it will start a new process, but the old process is still working, thus I will have 2 static instances in memory, which defeat the purpose of static field.
One step further, let's assume there might be 2 instances in memory, can I assume there are at most 2 instances at any single time? And can I assume once the second instance is up, the first instance will NEVER accept new requests?
Another question: Recently I have a problem with an applicationdomain concept. Looks like if an application domain causes a memory leak, unload the domain will not release the memory (Umanaged leak). So to what extent Application Domain is isolated?
I am trying to make a post that should use the Default Model Binder functionality in ASP.NET MVC 2 but unfortunately I can't get through. When I click on the checkout button I populate a form dinamically using jQuery code and then submit this form to the server. This is the form that get submitted
<form action="/x/Order/Checkout" id="cartForm" method="post">
<input name="__RequestVerificationToken" type="hidden" value="UDjN9RdWheKyWK5Q71MvXAbbDNel6buJd5Pamp/jx39InuyYIQVptcEubIA2W8DMUzWwnZjSGkLspkmDPbsIxy8EVuLvfCSZJJnl/NrooreouptwM/PaBEz2v6ZjO3I26IKRGZPqLxGGfITYqlf8Ow==">
<input id="CustomerID" name="CustomerID" type="hidden" value="1">
<input id="FirmID" name="FirmID" type="hidden" value="2">
<input type="hidden" name="CartItems[0].ServiceTypeID" value="1">
<input type="hidden" name="CartItems[0].Quantity" value="1">
<input type="hidden" name="CartItems[1].ServiceTypeID" value="2">
<input type="hidden" name="CartItems[1].Quantity" value="1">
</form>
This is the jQuery code that handle the submit event for the form
$("#cartForm").submit(function (event) {
event.preventDefault(); var form = $("#cartForm");
var panel = form.parent(); panel.parent().block();
$.ajax({ type: "post", dataType: "html",
url: '<%: Url.Content("~/Order/Checkout") %>',
async: false, data: form.serialize(),
success: function (response, status, xml) { panel.parent().unblock(); },
error: function (response) { panel.parent().unblock(); } }); });
This is the controller action that should be get called
[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult Checkout( CartModel cart ) {
} And finally this is the CartModel class involved
public class CartModel : BaseModel{
public int CustomerID { get; set; }
public int FirmID { get; set; }
public List<CartItemModel> CartItems { get; set; }
public CartModel() { CartItems = new List<CartItemModel>();
} } public class CartItemModel : BaseModel
{ public int ServiceTypeID { get; set; }
public int Quantity { get; set; } }
But the default Model Binder does not bind the web form data to a CartModel class. Using Fiddler I have been able to see that the data sent to the server is correct as you can see from the following snapshot.
when I use Html.HiddenFor( model => model.OwnerId ) to create a hidden field, the value assigned to that field is zero. When I use <input type="hidden" value="<%: Model.OwnerId %>" /> to add the hidden field to the form, the value is assigned correctly.
Why would Html.HiddenFor( model => model.OwnerId ) not get the correct value from the Model object? Am I supposed to load model state somehow separate from returning the model object from the action method? Here is the view:
[Code]....
The Create action method is relatively straight forward.
public ActionResult Create( ... )
{
ViewStockItem item = new ViewStockItem();
item.ActionCode = ActionCode.Add;
if (item.OwnerId == 0)
item.OwnerId = 7;
BookOwner owner = db.BookOwners.Single(c => c.OwnerId == item.OwnerId);
item.OwnerName = owner.OwnerName;
return View(item);
}
I've been used to decorating data model classes with data annotation attributes, but the purist in me baulks slightly at including purely presentational attributes such as display format here. I am, however, quite happy to keep validation centric attributes here. One good reason I have to continue keeping all annotations etc. in the data model is that my view model aggregates data model classes, e.g.
my ViewModelBase.DetailItem<TEntity> property in the view model is just a reference to an entity class in my data model. If I wanted to move presentational annotations to the view model, I would have to quite radically revise my design to one where I duplicate data model properties in my view model and use an object mapping tool to populate view model objects based on data model objects.
[code]....
Say I got a domain model as follows: (and my repository expect an instance of this object)
[Code]....
And a view model (which my views are based on)
[Code]....
At the moment I got it like this and have my controller action manually create a new Person object from the PersonModel object before passing it on to the repository, which does not feel right.
So I tried to have PersonModel inherit from Person and pass that to the repository (also tried casting the PersonModel to a Person object first), but that don't work out.
What's the right way to have PersonModel automatically cast to Person? I want to keep this logic as my current structure allow me to keep things really loosely coupled, with the repository layer not having a clue how it's being used.
I have a formview with various templates set up for a database that has 255 columns. I need the insertitemtemplate to pre-fill values based upon a specific selection by the user (just like the edit item template) but when the template is switched to insertitemtemplate every text box is cleared. The idea is that a new entry is usually made by making minor changes to an existing entry. With 255 fields I don't want to require the user to enter every field when only three or four need to change.
View 8 RepliesI have a gridview which the columns are created programmatically.
When a button is click i will clear all columns and add the columns that I want. Im adding a boundfield which is not a problem. When I add a template field, I must add also the item template which is my problem.
How can I add a item template in the template field I created which is binded in my datasource. Also what event handler should I use to do this.
Here's the part of my code:
[Code]....
Someone know how can I bind a label item template from the datasource. The label item template should be firstname + middlename + lastname.
If im not doing it programatically, it will be just concatenating eval(). But how can create item template and bind it programmatically?
I have one page that I always want the anonymous template to be displayed regardless of whether or not the user is logged in.
View 4 RepliesSetting up the editItem template of a gridview. I have a template field with a dropdown list for editing. When the gridview goes into edit mode the dropdown list is displayed with all the right options but the current value of the field (pre-editing) is not the selected value of the dropdown list? How do I make that happen? I have a couple fields where the editItem template will use a dropdown list and I'm sure a user will not realize those values have changed and they will just edit what they intended to edit and save the changes, inadvertently also making changes to other fields.
View 3 RepliesI have sub classed a asp repeater similar to A Grouping Repeater All works fine apart from if I also have a <HeaderTemplate> </HeaderTemplate> The grouping template is rendered before the header template. I would really like to either be able to choose the order in which the templates are rendered or just have the <GroupTemplate> Rendered after the header.
View 1 RepliesI am already using it but i am not clear about it.
View 3 RepliesI've a template in .zip format and wanted to add this template in "My Template" list for web based application.
I tried to copy this template to - C:Documents and SettingsusernameMy DocumentsVisual Studio 2008TemplatesItemTemplatesVisual Web Developer but it does not work but i can see my template for non-web based project.
I have recently started working on ASP.NET with MVC 2 framework, and I am facing following difficulty in validating my data,
Scenario:
In my application the view (ASPX) is divided into tabs (jQuery) and each tab's content is ViewUserControl (ASCX). The main model for the view has collection of sub models for individual tabs. I use RenderPartial method to render view user control.
[Code]....
And the user control (Tab1.ascx) refers the specific model for it,
[Code]....
Now if in my Tab1Model if I put following validation
[Code]....
In the controller ModelState.IsValid is always indicates TRUE. How do I override the validation behavior such that it as well looks the items in the collection member (which holds sub models) as well.
<%= Html.ValidationMessage("FirstName") %>
I am using the ToolkitScriptManager from the Ajax tool kit and I am having a problem finding my button's ID.My ID's on my controls come back with $ symbols instead of _ symbols, like the following:causes problems when attempting to find the control from the Page.Request.Form keys. I cannot seem to find the determining factor that would cause this.Now, I know this is the name and in my source I see that the ID is with the _, so why is the Page.Request.Form showing up with the $ symbol instead? Anybody encounter this before?
View 1 Replies