Combining Dynamic Data And MVC MetaModel.Visible Contains Tables With Scaffold = False
Aug 12, 2010
I combined MVC and DD by creating a new DD project and adding the MVC stuff (references, routing, usings, etc). The list of tables on default.aspx (from DD) will show all tables, including the ones with [ScaffoldTable(false)]. The URL's of the tables with Scaffold==true have the expected form (DD/TableName/List.aspx). However, the URL's of the tables that should not be shown are in the form /Home/List?Table=TableName. If you leave out the MVC routing (Routes.MapRoute) then the tables with Scaffold(false) are not shown. Or you can leave out only the Parameter defaults.
My guess is that Dynamic Data determines if a table is visible by checking to see if a route can be made to for the List page. The DynamicDataRoute will not match because that will not generate a route if Scaffold==false. BUT THEN the MVC Route WILL match because of the Parameter defaults at the end. Am I correct and is this a bug or am I completely missing something here? EDIT: I fixed it by adding filtering the VisibleTables on Scaffold like this, but that's a workaround...
System.Collections.IList visibleTables =
MvcApplication.DefaultModel.VisibleTables.Where(o=>o.Scaffold==true).ToList();
My RegisterRoutes in global.asax.cs:
public static void RegisterRoutes(RouteCollection routes)
{
DefaultModel.RegisterContext(typeof(studiebase2Entities), new ContextConfiguration() { ScaffoldAllTables = false });
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.Add(new DynamicDataRoute("DD/{table}/{action}.aspx")
{
Constraints = new RouteValueDictionary(new { action = "List|Details|Edit|Insert" }),
Model = DefaultModel
});
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
View 1 Replies
Similar Messages:
Sep 30, 2010
I have two tables (Person and Location) In the Dynamic Data Site, when adding Location info, I am need to choose a person from the dropdown box which is populated via a FK. That dropdown box defaults to the field in "Person" that is titled "fname" which is first name, so it looks like "Jim" or "Steve".
I'm trying to have that dropdown box display the full name of the person it references which would be combining the fields fname and lname.
Would I do this inside a Field Template? Metadata? I'm kind of stuck on this.
If I look at the FieldTemplate for ForeignKey_Edit I see this:
[code]...
and it seems like I should be able to make something similar to "PopulateListControl" and use that instead, but I have no idea where this method even resides.
View 1 Replies
Feb 1, 2011
I have the following simple code:
[Code]....
So when i select "Yes" from the first drop down, the "hiddenDetail" label becomes visible and when i select "No" from q1 the "hiddenDetail" label becomes invisible.The problem is that because i am using AutoPostBack when you select "No" the "hiddenDetail" loses its children (i.e. the label inside it) which is obvious why but i am wondering, is there anyway i can make the "hiddenDetail" invisible (sort of like display:none in style) in VB without losing its children. Or is my only option to work with this in
View 9 Replies
May 7, 2015
I am using gridview with sqldatasource , now i have a column
<asp:gridview ID="MyGrid" runat="server" AutoGenerateColumns="False" datakeynames="Seq"
DataSourceID="ExistingConsPhaseSource" >
<Columns>
<asp:boundfield datafield="Seq" headertext="Seq" readonly="True" Visible="False" sortexpression="Seq" />
<asp:templatefield headertext="Description" sortexpression="Description">
[Code] ....
I also have a button outside gridview , on its click event i want to delete all rows in a grid view. So far i have done like this :
protected void DelAllExisting_OnClick(object sender, EventArgs e) {
foreach (GridViewRow row in ExistingConsPhases.Rows) {
string query =
"UPDATE [dbo].[myTable] SET IsDeleted = 1, DeletedBy = @DeletedBy, DeletedDate = GETDATE(), DeletedByPrefix = @DelPrefix WHERE Seq = @Seq";
SqlCommand comm = new SqlCommand(query,_connection);
comm.Parameters.AddWithValue("@Seq", ???);
comm.ExecuteNonQuery();
_connection.Close();
}
}
What to type instead of ??? I want my bound field of Seq to be place here ? how ?
View 1 Replies
Mar 21, 2011
I have a form with a ton of gridview controls on it. All of which are driven by a dropdown list control. When I select a value from the dropdown list control it populates the 5 gridview controls with data from the database.If there are no rows associated with the record from the dropdown list then I am going to set the visible property of all of the gridview cotrols to false.
I know how to set the property I just need to know where I would set it and what I would check.I can put my code in the selectedindexchanged event for the dropdownlist control but how do I check to see if there are no rows associated with that value? Maybe some sort of If gridview1_rowdatabound = 0 then...
View 2 Replies
Jan 14, 2011
I have a listview that renders like this:
yearsexp: 4
desc: a description text on the row databound, if there is no value for yearsexp or desc, I would like to make it not visible. The other one needs to still be visible. So far I have
[Code]....
View 4 Replies
Aug 10, 2010
<asp:ButtonField Text="Void" ButtonType="Link" CommandName="Void" />
' RowCommand
Dim f_iIndex As Integer = Convert.ToInt32(e.CommandArgument)
Dim f_oSelectedRow As GridViewRow = grdMeterCorrection.Rows(f_iIndex)
Dim f_oCertIdCell As TableCell = f_oSelectedRow.Cells(11)
Dim f_sCertId As String = f_oCertIdCell.Text.Trim
If e.CommandName.ToLower = "void" Then
Dim f_bVoidRet As Boolean = VoidCert(f_sCertId)
End If
The problem is the CertId field in the GridView has visible set to false. I think this makes the value unaccessable to the RowCommand.
View 5 Replies
Feb 10, 2010
I'm trying to make my TD visible or not inside a repeater. I keep getting an error "Object reference not set to an instance of an object". here is my code:
[Code]....
and my code behind:
[Code]....
I know it has something to do with how my findcontrol code is written, but I can't figure it out.
View 7 Replies
Mar 31, 2010
I have template field named "MenuItemId" which is visible false and in that i have taken hidden field (Htmlinputhidden) control. my requirement is i dont want to show that MenuItemId in the gridview but want to access the value of that column (i.e. hidden field). I am creating node of the xml from the headertext.
[Code]....
View 2 Replies
Aug 30, 2012
i have gridview in my page
i don't want show header in my gridview i search all property of this control but i didn't find anything
View 1 Replies
Apr 9, 2010
I have a database field called ImageLocation, I have the ImageUrl property bound to: Eval("ImageLocation", "{0}")I would like to bind the Visble property to false if the ImageLocation is null data. I can not figure out how to set the control properly, currently the Datalist shows me all the data and when the image location is null it shows me the name of the Hyperlink control which happens to be Hyperlink2.
View 2 Replies
Aug 23, 2010
I have a problem displaying data in a Grid View control when set a row to visible = false when a certain condition is true.
For example, if a DataRowData value has a condition set to true (custom in table) I set the visible property to false, so the data row will not be visible at run time.
The problem is that I'm using paging (10 rows per page) and if 8 of those rows fall into the true condition that won't show the row, that grid view page will only show two rows of data in page 1. The worst scenario is that if I go to page 2 of the grid view and all the rows (10) fall into the true condition, that grid view page will not show any data at all.
How can I show 10 rows of data at all times in a gridview? In other words, I would like to just show the visible rows at all times.
View 4 Replies
Jan 10, 2010
I have a gridview that serves as a confirmation for user input in a previous form from a previous page. The grid is databound to a temporary table where I store the user's initial selections. The user can confirm what they had submitted, (which may be more than one row of information, up to three classes) or go back and change. When they hit the confirm button, I loop through the gridview and enter a row in a permanent database for each row in the gridview. This works great.
However, I don't want the gridview to display all of the columns that are actually in the temp database, because I'm carrying over 'usersubmitted, datesubmitted', etc, from the previous page for each class selected and this is redundant. (I do need to use all of the columns when they submit, however, to make a new row with complete information for each selected class in the permanent database) So, when I set the usersubmitted column visible false, for example, in the gridview, the dataset table adapter insert function fails with a data type mismatch error. I'm assuming becuase the column has to be visible, becuase when I make it visible again it works.
Can you loop through a gridview and call on cells in columns that are not visible?
The first page is like this:
the user fills out his info once in text boxes
name ____
address____
then selects up to three classes in dropdowns:
class one dropdown ...
class two dropdown....
for each dropdown, I insert name, address, class selected into a temp db Second page.
Gridview should display only classes selected, one row for each, and not
name address class selected
name address class selected
then when they submit, I insert
name address class selected
name address class selected
one row for each in permanant database
View 3 Replies
Apr 15, 2010
I have a problem that in DetailsView Edit Mode, if I go to edit fields, and set a fields visible property to false, when I update the record through the built in update options it sends a null value. If I change the field back to visible, it passes the data just fine.
Consequently, I tried just setting the field to Read Only = True, and got the same result even though the current values do show up in the edit mode, just read only.Is there anyway to hide the field but still allow it to pass the data it currently has "BACK" into the record.
View 2 Replies
Oct 26, 2010
How can you access data in a GridView cell with Visible = false?
[code]...
View 1 Replies
Jun 29, 2010
I've GridView with Template field as
<asp:TemplateField HeaderText="Review">
<ItemTemplate>
<asp:ImageButton ID="imgBtnReview" ImageUrl="~/images/agt_reload.png" runat="server" Visible="false" CommandName="Review" CommandArgument='<%#Eval("id")%>' />
</ItemTemplate>
</asp:TemplateField>
Gridview is bound to a table. If a row in table has price greater than zero then the above mentioned Imagebutton should br visible in that row only.
Is it possible to do so.
View 6 Replies
May 20, 2010
I have an Objectdatasource configured with Select, Insert, Update & Delete queries in a Dataset. This datasource is linked to my Gridview. I do not require all fields in the table to be displayed or updated in my grid so i have turned off the Visible property on several.
However, when i go into Edit mode and trigger the UPDATE to the database table, i get NULL values updated in the columns i set False for the Visible property.
How can i remove these columns from the GridView and the Edit mode and still have them UPDATE with their current values instead of being overwritten with NULL's?
View 6 Replies
Apr 16, 2010
there is a way to make a label visible for a seccond and then make it visible =false ; ?without javascript... just c# ,,,
View 4 Replies
Aug 20, 2010
I have a code below in my gridview.
I want to set the HeaderText to Visible = false on my code behind. Can i do that?
[code]....
View 4 Replies
Feb 12, 2011
If I have a grid, and it is binded to some data, but the visible=false for the grid, will it consume any resources for initializations or for retrieving data to perform the bindings?
How about if the grid is inside a div, and the div visible=false
View 2 Replies
Oct 11, 2010
I have four columns in gridview. EmpId,EmpName,EmpSal,EmpDept.
I want to display the complete information on another page,for this am sending empId to other page through RowCommand.
Now I dont want to display my EmpId Column in GridView but I want to access it .
View 2 Replies
Mar 31, 2011
I am basically trying to check the contents of a field in a data base (Course) to determine if a button (btnMisfills) shoulf be displayed for a specific user. I am sure ther are probably better way of doing this, and any suggestions would be appreciated. However I am using the few tools I know how. Everything works as expected as long as the DetailsView is visible, but I have no need to display the detailsView. When I change the detailsView to visible = false, my logic does not work. Apparently visible = false means the detailsview is not created. If this is true, how else can I check for the contents of the course field?s there a way to check a field in the sqldatasource?
[Code]....
View 2 Replies
Jan 26, 2010
If a control (say a label or textbox) is set to visible = false then
1. Is the value specific for each user(like session) or for whole application?
2. If it is user specific, then how is the value kept across multiple Http requests? is it by session management(cookie or URL rewritting) or viewstate?
3. If it's by viewstate, does that means users still have chances to modify the 'invisible' control's value?
4. If it's by session management, I can't depends on the 'invisible' control's value unless I am 100% sure cookie or URL rewritting is working, right?
View 2 Replies
Jun 18, 2010
i have create user control to add the new city, where i entered the name new city, select the related country from combo and select the related state from combo and click on save button.
View 4 Replies
Jan 3, 2010
I have an ASP.NET text control "FromDate" whose visible property is set to false, but I wanted a client side javascript to be able to toggle the visibility property using CSS properties
element1.style.display = "none"; // hides the element
element1.style.display = ""; // shows the element
but when I attempt to get the textbox, I get null on
var element1 = document.getElementById("FromDate");
When I try the same code with visble=true as the default on the "FromDate" ASP.NET control, it works (although that is not the behavior I need)
View 3 Replies