MVC :: Setting Property On A Filter Attribute From Controller?
Feb 17, 2010
here's my situation - I've created some ActionFilterAttributes that I want to apply to a custom Controller class that my other controllers can inherit from. The problem is, I need to set a property on the attribute from the final inheriting controller. So I have something like this :
[Code]....
[Code]....
View 2 Replies
Similar Messages:
Aug 25, 2010
does a action filter override a controller filter?
View 2 Replies
Jan 5, 2011
I need to set a style property of an element to the value returned from a code-behind property. I have done this in the past, but it now seems everything I try fails. I get an error telling me that the literal is not formed correctly.These are some of the arrangements I have tried:
[Code]....
View 2 Replies
Jan 20, 2011
I have an app I am transitioning to MVC3 to see what the upgrade path is essentially. I've hit a snag. I believe I've run into a change that may be due to the changes for Dependency Injection in action filter attributes, but I have been unable to track down the cause, and the "correct" solution.This project uses StructureMap and NHibernate. The NHibernate session is started at the beginning of each request, and ends at the end of each request, thanks to a small module. This is just to give an idea of the stack involved...o I have a few custom Authorize attributes (Inheriting from AuthorizeAttribute) that perform some more complicated authorization logic for specific actions that they decorate. Part of their functionality involves using two repositories which they must either (a) have injected, or (b) get from the StructureMap ObjectFactory themselves. In MVC2 I was using option b, so that the CONSTRUCTOR of the attribute looked like this:
[Code]....
This worked fine, as in MVC2 the constructor was called each time the attribute was evaluated. This BREAKS in MVC3, where it would appear that this is no longer the case. Due to this apparent change, the FIRST time this attribute is evaluated, it runs fine, but each subsequent time, any calls in the repositories fails because it claims the NHibernate Session object hasn't been started! The reason being, as far as I can tell, that the CustomAuthorizeAttribute is created once, and then held in whatever state it exists in at that point for the lifetime of the application... Which means that the dependencies inside of it (Which SHOULD go out of scope at the end of each request, and be reinstantiated / fetched at the beginning of subsequent requests), are instead persisting with it becoming stale after the first evaluation.After banging my head against the desk for a few hours, I realized that simply moving these calls to the ObjectFactory into the AutorizeCore method made everything work again.Now, all of this was of course, a hack, because there wasn't a good easy to do real dependency injection into attributes in MVC2. I hear that is changed in MVC3, and I am wondering if this behavior is in response this change, and if so, what do I need to do to make this work?
View 3 Replies
Nov 16, 2010
i wanna use HandleError attribute on my Controller. but it doesn't work .
here's my sample:
[Code]....
[Code]....
View 10 Replies
Aug 2, 2010
I am experimenting with the relationship between Elmah and MVC's plumbed in exception handling, and am surprised at the outcome of the following code. This is a brand new, straight from project template MVC application, and I have only added Elmah modules and handlers to the web.config.
[Code]....
Break when error is thrown is set to off, yet the debugger still breaks. When I continue I get a YSOD, and an Elmah error log, but it seems HandleError is doing nothing.
JUST IN I didn't think I had to have custom errors turned on, as I thought that was only for 'my' unhandled errors.
View 1 Replies
Feb 1, 2010
I noticed the ActionNameAttribute lets you alias your controller methods. This is nice but I was curious if there was a comparable attribute for a controller name. Specifically, I have a controller with a lengthy name in c# world but would like to shorten / alias it in the actual URL. I was hoping for some kind of controllername attribute. Is there such a beast?
View 3 Replies
Dec 7, 2010
I am looking for a Cache filter which can be removed when certain action is performed.
Suppose,I have Index action which is loading records and cached with a filter for a minute.As long as I am calling Index the action must be cached and no trip to db.
Once I create a record in Create action than it should remove the cache a load the records from DB.I have found one in Ninject web example which is like below. I am looking for same solution.
[Cache(0, 0, 5, 0)]
public ActionResult Index()
{ [code]...
View 1 Replies
Jan 25, 2011
[Code]....
and
[Code]....
Filter for the child controller executes earlier than for the base class... How can i revert that behavior ? Order prop doesn't help...
View 9 Replies
Mar 4, 2010
If I have a Filter applied to a controller with a property defined as true.
Can I apply the same filter to one of its actions with value false to override the value for that specific action?
View 2 Replies
Sep 6, 2010
What is the best way to obtain an attribute such as the DisplayNameAttribute of a model's property using the property's name. I am using the following method currently:
[Code]....
Looking at this long statement, I cannot help wondering if there is a better way to do it.
View 4 Replies
Mar 30, 2011
I have an RDLC report and an aspx page with a MicrosoftReportviewer control. The objectDataSource retrieves ALL records.
Now I want to filter the reports results So in the rdlc report I create a report parameter by clicking on the report, report parameter menu. The name of the parameter is Zip.
Then in my code behind I put the following code in a button click event
Dim params(0) As Microsoft.Reporting.WebForms.ReportParameter
params(0) = New Microsoft.Reporting.WebForms.ReportParameter("Zip", "78734")
ReportViewer1.LocalReport.SetParameters(params)
ReportViewer1.LocalReport.Refresh()
When I click the button the results are not filtered. The results have not changed.
View 2 Replies
Jan 28, 2011
I'm trying to create a report (rdl) againt SP list.
I have a Date parameter, just 1.
When a user is selecting a date. It checks against my queried date, a day before and a day after. It works fine.
When a user is NOT selecting the date. I want the my queried date between a MINIMUM date and a MAXIMUM date. Since I couldn't find the Min & Max date in SSRS report filtering, I trying to hard code the date.
I tried DateValue(...with variety of different format...), as well as CDate(...with variety of different format...).
None of them is working. What exactly is the format SSRS accepting?
As for my CDate(Fields!ows_Date.Value)'s result, it is displaying as "yyyy-mm-dd hh:mm:ss", I also tried that format, and still, not working.
<Filter>
<FilterExpression>=CDate(Fields!ows_Date.Value)</FilterExpression>
<Operator>Between</Operator>
<FilterValues>
<FilterValue>=IIf(IsDate(Parameters!DateParameter.Value), DateAdd("d", -1, Parameters!DateParameter.Value),
DateValue("01/01/1900"))</FilterValue>
<FilterValue>=IIf(IsDate(Parameters!DateParameter.Value), DateAdd("d", 1, Parameters!DateParameter.Value), DateValue("01/01/2100"))</FilterValue>
</FilterValues>
</Filter>
View 1 Replies
Dec 22, 2010
I want to disallow entering html tags inside specific textFields using custom attribute HtmlRemove, but I don't know how can I acces property/Field value? Model:
[Code]....
My custom Attribute
[Code]....
View 8 Replies
Nov 7, 2010
I am trying to create a minimum length validation attribute which will force users to enter the specified minimum amount of characters into a textbox
public sealed class MinimumLengthAttribute : ValidationAttribute
{
public int MinLength { get; set; }
public MinimumLengthAttribute(int minLength)
{
MinLength = minLength;
}
public override bool IsValid(object value)
{
if (value == null)
{
return true;
}
string valueAsString = value as string;
return (valueAsString != null && valueAsString.Length >= MinLength);
}
}
In the constructor of the MinimumLengthAttribute I would like to set the error message as follows:
ErrorMessage = "{0} must be atleast {1} characters long"
How can I get the property's display name so that I can populate the {0} placeholder?
View 1 Replies
Feb 22, 2011
I have a web form with an Asp.net PlaceHolder control. By default the control is set to visible false and will be displayed through the code behind based on several criteria. In general this PlaceHolder control wraps several other Asp.net controls. Now a new requirement ask that the controls within the PlaceHolder control be visible at all times an no longer hidden. So in the Aspx code I changed the laceHolder attribute and set it to visible. Now all kinds of Java Script validation errors are occuring and it is a horrible spahgetti code nightmare. Is their a way to set the visible attribute on the control and not have it trigger the validation?
View 4 Replies
Feb 8, 2011
Is it possible to download a file and set its Date Modified attribute by means of Ajax? I tried to use server-side code below but couldn't set Date Modified although I explicitly used "Last-Modified" Response header:
try{
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment; filename="+l_attchmntFileSpec);
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Last-Modified", "Tue, 15 Nov 2010 12:45:26 GMT");
Response.BinaryWrite(l_attchmntToDownload);
Response.End();
}
catch (Exception Ex)
{ ...
}
Note: The file in question is stored in my database. It is represented by byte array l_attchmntToDownload.
View 1 Replies
Dec 28, 2010
So, I've got an contact form in my MVC 2 application.
I'd like to programatically email all properties of my "ContactModel".
Here is what I'd like to do in psuedo-ish code:
[Code]....
In case it matters...ContactModel sets up the DisplayName attributes like this:
[DisplayName("First Name")]
public string FirstName {get; set ;}
I'd like to keep this nice and DRY by not repeating the DisplayName names.
Specifically, I'd like to enumerate over each property in my ContactModel, get its DisplayName, and get its submitted value.
View 1 Replies
Nov 12, 2010
I think I might have stumbled onto a bug in ASP.NET MVC 3 RC. When I setup my MVC2 project in a new MVC3 project, copy paste classes, code, change name spaces, etc, etc, I ran into an issue in the following, simplified for explanation purpose, scenario:
Model:
public class WineDetails
{
[SkipRequestValidation]
[Required(ErrorMessage = "Beschrijving verplicht")]
public string Description { get; set; }
}
ViewModel:
public class ViewModelCreateWine
{
public MasterData MasterData { get; set; }
public WineDetails WineDetails { get; set; }
}
ActionMethod:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult CreateWine(ViewModelCreateWine viewModelCreateWine)
{
GetMasterDataRegions(viewModelCreateWine);
if (Request.Params.ToString().IndexOf("Save") > 0)
{
if (TryValidateModel(viewModelCreateWine.WineDetails))
{
m_wineService.CreateWine(viewModelCreateWine.WineDetails);
return RedirectToAction("index", "Admin");
}
}
return View(viewModelCreateWine);
}
The ActionMethod "CreateWine" needs to call the "CreateWine" method in the WineService so that in the end a new Wine is added to the Database. So far it looks ok. As shown in the above code the [SkipRequestValidation] is set on the "Description" property of the WineDetails model so that the user can add Rich Text to the description and HTML elements are allowed during the Request validation. This works perfectly fine until the Params collection of the Request is accessed in the code to check if the Save button is clicked. When this line of code is trying to execute the following exception is thrown:
Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (ViewModelCreateWine.WineDetails.Description="<p>HTML Content with...").
The same exception is thrown when I put the [ValidateInput(false)] attribute on the action method. When I comment out the "if" statement and its content there is no issue and the model validation works just fine and skips the Request Validation on the Description property as expected.
In MVC2 the above code worked fine with the [ValidateInput(false)] attribute on the action method.As I said I'm not sure if this is a bug, it very well might be my own stupidity, but I thought it would be worth to mention here. So any feedback is more than welcome.
View 2 Replies
Jan 17, 2010
I'm building a custom web control with a public property which I only want to be available in design time (i.e. make it unavailable in code behind). The DesignOnly attribute promises to do just that, but when I set [DesignOnly(true)] it has no noticeable effect whatsoever:
[Bindable(true)]
[Category("Appearance")]
[DefaultValue(null)]
[Localizable(false)]
[DesignOnly(true)]
public string MyProp
{
get
{
return ViewState["MyProp"] as string;
}
set
{
ViewState["MyProp"] = value;
}
}
The property still appears in code behind IntelliSense. Setting a value to it in code behind works. In these respects, the behavior is just as if the attribute had never been set. And I've cleaned and rebuilt the complete solution. Twice.
View 1 Replies
Mar 19, 2013
I am using repeater control and in that i am having div in item template. Now I am setting its id using eval. I want to access this div in item databound for that i am making it runat=server. But in doing so I am getting :
"The ID property of a control can only be set using the ID attribute in the tag and a simple value."
<div id="<%# Eval("RENTER_ID") %>" style="display:none"></div>
How to achieve this functionality. One more thing i am using master page and repeater is in content page.
View 1 Replies
Feb 8, 2011
I'm trying to create a HttpModule that changes the Response.Filter like so(for this demonstration just set the filter back to itself):
public class ContentTrafficMonitor : IHttpModule
{
public void Init( HttpApplication context )
{
context.BeginRequest += OnBeginRequest;[code]....
Doing so sets the transfer encoding of the response to chunked, rather than using the Content-Length header.If I remove the line where the Response.Filter is set, the response does have the Content-Length header. Our application depends on the Content-Length header, is there any way to prevent this behavior?
View 1 Replies
Jan 26, 2010
I have a custom control that I declare like:
<hello:someControl id="asdf" />
Now I need to access a config setting in the web.config's appsetting and give access to it to the control.
I want to pass this value using the attribute.
How can I do this?
View 1 Replies
Nov 17, 2010
I'm trying to get the current action method by this way.
ActionDescriptor actionDescriptor = filterContext.ActionDescriptor;
string actionName = actionDescriptor.ActionName;
var controllerType = filterContext.Controller.GetType();
var actionMethod = controllerType.GetMethod(actionName);
But if there're two action method with the same name, the AmbiguousMatchException will occur there. Without the ActionMethod property, how can I get the current action method now?
View 5 Replies
Aug 22, 2010
I have a calendar that can have multiple dates non sequentially selected. I have a gridview on the page with a sqldatasource control bound to it.
Again, I have already built the events calendar with the ability to select multiple dates... now I just want to show those detailed records below the calendar for only the dates selected.
How do I filter the records to only get the records of the SelectedDates of the Calendar control.
This has to be done dynamically in the code behind.
View 1 Replies