Create Generic Class From System.Web.Mvc.ViewPage?
Apr 30, 2010How can I create generic class from System.Web.Mvc.ViewPage?
View 1 RepliesHow can I create generic class from System.Web.Mvc.ViewPage?
View 1 RepliesI can have a base class for views in an MVC project like this:
public class BaseViewPage : System.Web.Mvc.ViewPage
{
public string Something { get; set; }
}
And then in the ASPX I can do this:
<%@ Page Something="foo" Language="C#" Inherits="MyNamespace.BaseViewPage" %>
This works fine; the problem is when I try to do the same with the generic version:
public class BaseViewPage<TModel> : System.Web.Mvc.ViewPage<TModel> where TModel : class
{
public string Something { get; set; }
}
When I try to use this from the ASPX, like this:
<%@ Page Something="foo" Language="C#" Inherits="MyNamespace.BaseViewPage<SomeClass>" %>
I get the error message:
Error parsing attribute 'something': Type 'System.Web.Mvc.ViewPage' does not have a public property named 'something'.
Notice how it tries to use System.Web.Mvc.ViewPage rather than my BaseViewPage class. To make it more interesting, if I remove the "Something" attribute from the Page directive and put some code in the generic version of BaseViewPage (OnInit for example) the class is actually called / used / instantiated.
So, am I doing something wrong or is this a limitation.
i doing one application.That is grid binding .i got this error
System.Web.Mvc.HtmlHelper<object>' does not contain a definition for 'GridView' and the best extension method overload 'MvcApplication2.Code.GridViewExtensions.GridView<T>(System.Web.Mvc.HtmlHelper, MvcApplication2.Code.GridViewData<T>, System.Action<MvcApplication2.Code.GridViewData<T>>, System.Action<T,string>, string, string, System.Action<T>, System.Action<MvcApplication2.Code.GridViewData<T>>)'
how to find this solution and how to change System.Web.Mvc.ViewPage to System.Web.Mvc.ViewPage<Model>
I am developing a website which will be having both asp.net pages and MVC pages in it, So I have BaseWebPage class which will be used for both asp.net pages and MVC Views. but My BaseWebPage class is inherited from System.Web.Mvc.ViewPage, So Will there be any code/ functionality break for normal asp.net pages, because System.Web.Mvc.ViewPage is overriding some of the Pagelife cycle methods.
View 1 RepliesWhat is the difference between ViewPage and WebViewPage in ASP.NET MVC?
View 1 RepliesMy application has developed an issue that has got me baffled - i'm fairly new to MVC so please bear with me. I have an MVC web application and a Domain library, the domain has a DataModel.dbml with a single table Enquiry I have a single view called Contact with a controller HelpController, this view has a few form fields to insert the data in to the database the view has the following at the top of the file
Inherits="System.Web.Mvc.ViewPage<Domain.Enquiry>"
My controller has two actions as follows:
[ActionName("Contact-Cinnamon-Studios")]
I'm trying to create a control out of a class I found, and one of the overridden functions is the following:
protected override void PerformDataBinding(IEnumerable data)
However, when I try to build the control I'm getting the error as shown in the subject. I've tried searching, and it seems the signature for the original function matches the one I have, and all other solutions I've seen uses the same signature.
I wanted to create a custom class that inherits from System.Exception and adds a few properties and methods specific to the project.
The issue I'm seeing is that a standard try/catch block catches generic Exception class and the compiler thinks that converting that to my custom class is OK. However, at runtime if the actual error is something else like a a System.Net.WebException for instance, then at runtime it will not convert to my custom class. Then my own error catch throws an InvalidCastException.
Obviously the one thing I don't want to happen is to have my error logging methods throw errors on their own...
So, how can I convert ANY exception to something that my custom class can use?
Here's a code example:
Csharp Code:
[code]....
Now, this code builds just fine... VS2008 and VS2010 have no issue with converting an "Exception" to "MyErrorClass", but at runtime it certainly doesn't like converting a "WebException" to "MyErrorClass"...
What is a Generic Class Declaration? and when should it be used?
View 2 Repliespublic class NHibernateSessionPerRequest<T>:IHttpModule
{
public void Dispose() { }
public void Init(HttpApplication context)
{
context.BeginRequest += BeginRequest;
context.EndRequest += EndRequest;
}
}
How can it be registered in web.config?
I dont know what I have done but my add blog or news item functionality is broken. It works fine locally but not on the server (.net 3.5 mvc 2 I believe).
[Code]....
The interesting thing is the path P:Web_DevelopmentAHNDEVControllersAdministratorController.vb. This is my local path on my machine but not the
ASP.net C# 3.5 Framework, working in Visual Studio 2008 currently.
What I want is a Generic Data Access Class. I have seen several of them but what I want is to see one that I pass the Connection String and the SQL statement and it will return a List of Objects or when only one item an Object or when no response needed a boolean to let me know if it succeeded?
How can I to use System.Drawing.Bitmap class into athoer class?
using System.Data;
using System.Collections;
using System.Globalization;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
namespace University
{
public class Class1
{
System.Drawing.Bitmap BMP=new System.Drawing .Bitmap();
}
}
when I use System.Drawing.Bitmap gives error this class does not exists
I was building an application for a project with .NET 3.5 and I noticed a weird behaviour of the List.Add method:
I have built my own class to organize data pulled from a database, and I use a while cycle to iterate through it.
However, when I List.Add(item), the whole content of the list is substituted with the last content pulled.
An example:
Suppose you have 3 users in a DB, each one identified with an ID and a username:
| ID | username |
| 1 | John |
| 2 | Fred |
| 3 | Paul |
and you have a "Users" class defined as
public class Users
{
private Int32 iD;
private String username;
public Int32 ID
{
get { return iD; }
set { iD = value; }
}
public String Username
{
get { return username; }
set { username = value; }
}
}
So you write this function:
[... SQL definitions - sdr is a SqlDataReader ...]
List<Users> userlist = new List<Users>();
if (sdr.HasRows) //There are users
{
Users user = new Users();
while (sdr.Read())
{
user.ID = sdr.GetInt32(0);
user.username = sdr.GetString(1);
userlist.Add(user);
}
}
What you expect (I expect) is userlist containing:
| ID | username |
| 1 | John |
| 2 | Fred |
| 3 | Paul |
What I actually get is, instead
| ID | username |
| 3 | Paul |
| 3 | Paul |
| 3 | Paul |
I'm receiving this error in my Linq statement ---
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable' to 'hcgames.ObjectClasses.ShoppingCart.ShoppingCartCartAddon'. An explicit conversion exists (are you missing a cast?)
From this query
ShoppingCartItems items = Cart.GetAllItems();
ShoppingCartCartAddons addons = Cart.GetAllAddons();
var stuff = from x in items
select new ShoppingCartItem()
{
ProductID = x.ProductID,
Quantity = x.Quantity,
Name = x.Name,
Price = x.Price,
Weight = x.Weight,
Addons = (from y in addons
where y.ShoppingCartItemID == x.ID
select y)
};
Calling Index view is giving me this very very annoying error . Can anybody tell me what to do about it
Error:The model item passed into the dictionary is of type 'System.Collections.Generic.List1[MvcApplication13.Models.Groups]', but this dictionary requires a model item of type 'MvcApplication13.Helpers.PaginatedList1[MvcApplication13.Models.Groups]'.
public ActionResult Index(int? page)
{
const int pageSize = 10; [code].....
I need to cache System.Collection.Generic.List object with expiration time
var Root = from feed in feedhotel.Descendants(ota + "HotelContent")
where (feed.Attribute("HotelCode") != null)
select new xmlhotel()
{
};
return Root.ToList();
Is it possible to cache Root.ToList() for some time....
I have several custom classes that derive from a common base class so they share several members in common. I would like to be able to pass objecs from any of these three classes to a function that will "look at" common properties. However, it seems there is a catch 22 -- When I try to access a member (.FirstName) of the passed object, the computer reports an error that it thinks the member doesn't exist.
It seems to be a sort of contradiction -- since I didn't declare the type, the computer can't confirm existence, but it seems that it should have to take it on faith since the generic character of the type is specified by the code. Possibly there is something I don't know about that would fix this. I'm showing VB code for what I have so far. I went ahead and hardcoded an instance to confirm that the object exists and has the needed property. I commented out the line that had the code that resulted in the computer reporting an error.
[Code]....
I get this error when run the page
DataBinding: 'System.Int32' does not contain a property with the name 'item'.
protected void Page_Load(object sender, EventArgs e)
{
List<int> item = new List<int>();
{
item.Add(25);
item.Add(50);
item.Add(520);
item.Add(543);
item.Add(543);
item.Add(55);
};
GridView1.DataSource = item;
GridView1.DataBind();
}
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" ShowFooter="true">
<Columns>
<asp:TemplateField HeaderText="Sub total">
<ItemTemplate>
<asp:Label ID="subTotalLabel" runat="server" Text='<%#Eval("item")%>' />
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="grandTotalLabel" runat="server" />
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
I want to bind grid using Bindlist(Generic class) and also ensure it does not have an impact on performance of the page.
View 2 RepliesI Use entity framework 4.
Here is my model
Language
LangID
LangName
Product
PrdID
IsActive
ProductText
PrdID
LangID
Text
Category
CatID
IsActive
CategoryText
CatID
LangID
Text
Each time I want the text for one of these model, I execute this lambda expression p=> p.LangID == 1
Is it possible to create a generic lambda expression function that all of these model can use.?
What s the best way to implement a method that creates and assings ID s to user on a asp.net application?
I was thinking about using DateTime ticks and thread id
I wanna make sure that there is no collision and user ids are unique.
ID can be a string or long.
should i use MD5 on some information that i collect from user? what would that be?
I have seen that md5 collision rate is very low.
I want to create a generic web.config file for different web servers in VB.NET. So, depending on the server configuration requirements, applications can retrieve all values from that generic configuration file.
Is this possible? How would I do this?
I am currently binding a Nullable bit column to a listview control. When you declare a list view item I need to handle the case when the null value is used instead of just true or false.
<asp:Checkbox ID="Chk1" runat="server"
Checked='<%# HandleNullableBool(Eval("IsUsed")) %>' />
Then in the page I add a HandleNullableBool() function inside the ASPX page.
protected static bool HandleNullableBool(object value)
{
return (value == null) ? false : (bool)value;
}
This works fine but I need to use this in several pages so I tried creating a utility class with a static HandleNullableBool. But using it in the asp page does not work. Is there a way to do this in another class instead of the ASPX page?
<asp:Checkbox ID="Chk1" runat="server"
Checked='<%# Util.HandleNullableBool(Eval("IsUsed")) %>' />
At debug time I would like to see what are the keys in my InitParams collection - I can't seem to be able to list them.
EDIT:As Jon suggests below, this might be a bug within the Silverlight debugger. To reproduce, just create a new Silverlight Application within Visual Studio 2010 and just edit code
{
public partial class MainPage : UserControl
{ [code]...