MVC :: Add A Constraint For The Route Values With Periods In?
Sep 17, 2010If I have a route mapped as follows, how can I add a constraint for the route values with periods in?
[Code]....
If I have a route mapped as follows, how can I add a constraint for the route values with periods in?
[Code]....
I'm just starting out with C# and ASP.NET and have the following questions. I am working with code adapted from a couple different tutorials playing with Northwind and have gotten this far. The list of acceptable categories is currently hard coded in a string but I would like to look up the CategoryName in the database to verify that it exists.
Obviously the purpose of this is to ensure that users don't just type:
[URL] and return a valid page.
Also does anyone have an tips of how they are dealing with capitalization issues since the routing is case sensitive? For example Categories/beverages should forward to Categories/Beverages ?
[code]....
I'm attempting to find a way to preventing a user from accessing a specific xml file. I've tried doing...
route "SiteMap",
"SiteMap/siteMap.xml",
new { },
new { isLocal = new LocalHostRouteConstraint() });
[code]...
When I do an Html.RenderAction( action, controller, new { varName = value } ); if the original request had a parameter equal to varName, then the value is not changed in a render action.
Example:
1. Post to "C1/A1" with a string var _test = "abc"
2. Inside C1/A1 get some data and return a partial view
3. Inside the partial view I invoke an action on another controller. The action has an input variable with the same name and type (string _test) Html.RenderAction( "A2","C2", new {_test="fgh"});
4. the value in _test that arrives at C2/A2 is still "abc"
I've traced through it step by step, and the value used in the view render action call is correct, but in the next trace step, the value received at C2/A2 is incorrect.
If this is not an error, and creating a new route value to pass in render action is not the correct way to handle this, what is?
i m using default route of mvc2 like {controller}/{action}/{id}. i want to access that id field in view. how can i do that without using tempData and ViewData. if i have url like [URL] i need value 14 in aspx view
View 2 RepliesI've got a route that I want to be able to pass nullable values to. I was using MVC 1 but updated my solution to MVC 2 to take advantage of UrlParameter.Optional.
My route look like:
[Code]....
Which works fine if I go to http://localhost:1234/Search.aspx/l-1/t-1/p-1/s-1 but when I go tohttp://localhost:1234/Search.aspx/l-/t-/p-1/s- or any combination with missing parameters I keep getting 404's.
Also on a related note since I've upgraded to MVC 2 I can no longer use RedirectToRoute for the above route I get the following error: No route in the route table matches the supplied values. Whereas in MVC 1 it would redirect to it without any problems.
Global.asax route values
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional, filterDate = DateTime.Now.AddDays(-1), filterLevel = "INFO" } // Parameter defaults
);
Here's my actionlink
@Html.ActionLink(item.MachineName, "Machine", new { id = item.MachineName, filterLevel = "hello" }, null)
When the filterlevel is specified in the actionlink, it generates a url like this: [URL] Which is the same page as I am currently on. If I change the actionlink to use a property other than one that has a default value in the route table (yes, if I use filterDate it messes up too), it generates a link like this:..............
in my mvc2 application i have an action link like
[Code]....
docid is set to empty string because i want to clear ambient value of docid that is present in request context. i have gone through a lot of material on internet and even tried docid=String.Empty but it does not solve the problem and gives me url like /controller/action/id?docid=x. i also write a routeconstraint as suggested but it did not solve the problem either.clear those route values comming from request context with html.actionLink. i don't want to use html.routeLink
I need to pass javascript function as a parameter value to the ajax actionlink in asp.net mvc app. how can we achieve this?
View 1 RepliesI have a post-only action that has a different route. In my form, I need to post to it, but also keep the querystring values I currently have.
Initial response: /my/first/path/?val1=hello
Needs to post to: /my/other/path/?val1=hello
It seems when I specify a route, it of course only returns the route and doesn't append the querystring values of my original page (for obvious reasons).Is it possible to cleanly append querystring values to my the action attribute of the form tag?
I have a grid in dataset as following
UserPatientStatusID RelevantPeriod TotalCount ProviderSpecialtyServiceName
a OUT November2008 1 Not Available
a ER September2008 1986 Not Available
a ER April2009 1837 Not Available
a ER December2009 2367 Not Available
a ER August2008 1908 Not Available
b ER February2009 1598 Not Available
b ER January2009 1972 Not Available
b ER June2009 2087 Not Available
b ER December2008 2012 Not Available
b ER November2009 2148 Not Available
b ER November2008 2030 Not Available
c ER October2009 2240 Not Available
c ER September2009 2029 Not Available
c ER October2008 2079 Not Available
c ER July2010 1714 Not Available
c ER August2009 2115 Not Available
c OUT July2010 2 Not Available
c ER March2010 1755 Not Available
c ER May2010 1759 Not Available
c ER July2009 2063 Not Available
c OUT April2009 1 Not Available
c OUT December2008 1 Not Available
c ER March2009 1931 Not Available
c REC August2009 1 Not Available
I know that there can be 24 relevant periods for each user. There may or may not be all 24 present for each user.
Now all that 24 periods I have in an array in C#. I know what these periods will be. They change so I cannot hardcode it. It has to be dynamic.
I want to create 24 columns of that rows for relevant periods and display TotalCount in that and get all other data accordingly in c#.
I tried to mix asp.net 4 webfrom and ASp.Net MVC 3. I add required lines in webconfig, but I've issues implementing route in global.asax
Currently I use several routes for webfroms. routs template are like below
routes.MapPageRoute("Node", _
"article/sport/{nID}/", _
"~/article/articleview.aspx")
I encounter error, when I add below lines to global.asax
routes.MapRoute( _
"Defaultss", _
"{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional} _
)
I want to know how could I mix ASp.Net MVC routes with webforms routes.
when i run the app i got this error
A route named 'Admin_default' is already in the route collection. Route names must be unique.
Parameter name: name
this is my AdminAreaRegistration
[Code]....
I have a url that I want to map routing to:
[URL]
where tabvalue is one of: "personal", "professional", "values" or nothing.
I want to map it to a route like:
Member/Edit/{tab}
But my problem is - I don't know how to specify such constraints. I'm trying this regex:
^[personal|professional|values]{0,1}$
but it only works when I use url
[URL]
[URL]
and doesn't work for
[URL]
how to specify the correct constraint?
P.S. I'm not using MVC, just asp.net WebForms
I have table with columns for a TypeId, TeamId and a Date with records like this:
TypeId - TeamId - Date
1 10 2011-01-01
1 10 2011-01-02
1 20 2011-01-01
1 20 2011-01-02
1 10 2011-02-04
1 10 2011-02-05
1 20 2011-03-01
1 20 2011-03-02
1 20 2011-03-03
1 20 2011-05-05
1 20 2011-05-06
..and I want to make a select to get a dataset with all periods (with StartDate and EndDate) like this:
TypeId - TeamId - StartDate - EndDate
1 - 10 - 2011-01-01 - 2011-01-02
1 - 20 - 2011-01-01 - 2011-01-02
1 - 10 - 2011-02-04 - 2011-02-05
1 - 20 - 2011-03-01 - 2011-03-03
1 - 20 - 2011-05-05 - 2011-05-06
Is this possible to do without a cursor (in a select)? A record is to be in the same sequence as the previous one if the typeid and teamid are the same and the date is the date after the previous record's date if you see what I mean..?
Was looking at asp.net mvc complex routing for tree path as an example of how to define a custom route handler for my MVC app. Essentially, I want to give the end user ultimate flexibility in defining the URL for any given page, so I provide them with a field in the interface to specify their own custom URL.
My custom route handler is basically a wild-card handler. It will do a lookup and if it finds a match, map it accordingly. However, if no match is found, I want it to fall back and find the next rule that matches in the global.asax. Is that possible? Or do I essentially need to code the mappings that used to exist in my global.asax into my custom route handler?
I have a scenario, I will pass a StatusID , According to that StatusID , The rows will be fetched from a table[tblEventStatus] and newly fetched row has to fecth the data from another table [tblEvent].
Ex: StatusID - Value I am Passing
Table 1: tblEventStatus - Column:SysID - StatusId - EventID
Table 2: tblEvent - Column:SysID - EventID - EventDesc
I want to use the Linq - I tried like this, But It doesnt work
var query1 = from objtblEventStatus in db.tblEventStatus
where objtblEventStatus.StatusId== StatusId
join objev_events in db.tblEvent on objtblEventStatus.EventID equals
(objev_events == null ? null : objev_events.UID)
select new { Category = objev_events.EventID , Name = objev_events.EventDesc};
I have a table with three fields, User, City and Country, where exactly one of the fields must be non-NULL at all times. Can I use an SQL constraint for this or should I rethink what I'm doing?
The scenario is that my database should contain documents that can be attached to users, cities or countries. So a row in this table contains exactly one document for either a user, a city or a country. However, one should be able to search for all documents as well, regardless of what entity it has been "attached" to.
The reason I'm not using three different tables instead is that I want to avoid having to JOIN the three tables when searching for documents in all of the three places. I'm imagining that the kind of denormalization I'm attempting to use here will improve performance.
Suppose I have a user table that creates strong relationships (Enforce Foreign Key Constraint) with many additional tables. Such orders table ..If we try to delete a user with some orders then SqlException will arise.. How can I catch this exception and treat it properly?Is this strategy at all?1) first try the delete action if an exception Occur handel it?2) Or maybe before the delete action using code adapted to ensure that offspring records throughout the database and alert according to .. This piece of work So how to do it?
--Edit:The goal is not to delete the records from the db! the goal is to inform the user that this record has referencing records. do i need to let sql to execute the delete command and try to catch SqlException? And if so, how to detect that is REFERENCE constraint SqlException?Or - should I need to write some code that will detect if there are referencing records before the delete command. The last approach give me more but its a lot of pain to implement this kind of verification to each entity..
My attendance table structure as follow
EmplID AttendanceDate Atten_Type Atten_Taken
it mean it has lot od data like below with differnet dates
E1
2011-02-21 00:00:00 CL
1
E2
2011-02-21 00:00:00 P
E1
2011-02-22 00:00:00 CL
E2
2011-02-22 00:00:00 P
E1
2011-02-23 00:00:00 CL
[code]...
I have a custom constraint that queries a value against a repository. Is it possible to replicate the dependency injection available to controller constructors?
View 1 RepliesI have a message table that self joins to itself where Message.ID == Message.Parent. So I have 1 Message with several ChildMessages. This is set up nicely with a Navigation property.
The code is currently:
var message = from m in soe.Messages.Include("ChildMessages")
where m.ID == id
&& m.IsActive
select m;
return message.FirstOrDefault();
What I really want is to only return 1 Message (that is equal to a particular ID and isActive) with all of its Active ChildMessages and I want to do it in one call to the database.
I want to create a constraint for 3 columns (A B and C) where if columns B or C are not null, then A cannot be null. And vice versa (i.e., if A is not null, then either B cannot be null, or C cannot be null).I am not very well versed in SQL and would like to know what is the best way to achieve this (e.,g Check constraint, stored procedure, function, trigger)? I'm leaning towards trigger but I'm not 100% sure if that's right nor of how to implement it.
View 3 RepliesHere I have specified a query which gives an idea about how to drop a constraint and recrate it..
[Code]....
Parent_TableName: is the name of the table where we actually reffer.
The UPDATE statement conflicted with the FOREIGN KEY constraint "FK__Software__Packag__5165187F". The conflict occurred in database "StudentDB", table "dbo.Package", column 'PackageID'. The statement has been terminated.
what i try to do is run this;
[code]....