Adding Bootstrap class to Partial view HTML Helper method - asp.net-mvc

I'am trying to hide my partial view on extra small screens.
Because this partial is used on another wiev where it must be visible on xs size I'm trying to hide it on Html helper method by adding one of bootstrap hidding class.
The helper looks like this:
#Html.Partial("_SearchBar", new {#class="hidden-xs" })
why this dont work properly ?

I think you have two options:
Wrap a div around your partial
<div class="hidden-xs">
#Html.Partial("_SearchBar")
</div>
Or inside of your _SearchBar partial view add a div with the class "hidden-xs"

Related

How do I get <partial> tag helper to work?

I am fairly new to this and I am struggling with using partial name. I have a partial view that simply shows a Create button. The partial view is in the Views/Shared. I have tried <partial name="_CreateButtonPartial" />, but it does not show the button. However #Html.Partial("_CreateButtonPartial") does show it. When I use the latter I get a warning that says "Consider using Tag Helper". Any ideas?

building custom navigation in razor view

I hope to get some useful input on how to implement my desired functionality:
I've got a razor partial view without a model that contains the navigation for my webapp. As some functions are only ment to be available for specific users, I want to customize the view.
In particular I want to show/not show specific li elements in the ul.
I already have a query which determines whether the element needs to be shown or not.
The element itself has to be like this:
<li>#Resources.Label1</li>
How would I achieve this?
You should be able to use the ViewBag.
Main view or controller:
ViewBag.LoggedIn = true;
Partial view:
<ul>
<li>Visible to everyone</li>
#if (ViewBag.LoggedIn == true) {
<li>Visibility based on some data</li>
}
</ul>

How to pass data from partial view to layout page

I have a table of menu and use partial view to show it but my problem is that how to show this menu in all pages of website or how to show the partial view content in layout page.thnx
In your _PublicLayout.cshtml file, (this is the file every other page uses in your project. The file has a #RenderBody() section, so every view you make, will appear there.
But if you want to make a partial view and it needs to be displayed on all pages of your project, you can place that in the _PublicLayout file.
So for your navigation, make the partial view, and add it like this in your _layout.cshtml file:
<div id="nav">#Html.Partial("_NameOfTheFile")</div>
<div id="body"></div>
<div id="footer"></div>

Scripts not rendering in partial view

I have a view containing two partial views in it.
#{
ViewBag.Title = "Expenses";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div id="expensesreportchart">
#Html.Action("_SalesAndExpenses", "Reports")
</div>
<div id="expensesreports">
#Html.Action("_Expenses", "Reports")
</div>
Note-
Both partial views are created without using layout. As far as i know that when we use partial views in a view (using layout). Then scripts are obtained in partial views using parent view (the one created with using layout).
So My flow of using partial views in a view is like now-
View(using layout)--> partial view(without layout) + partial view(without layout)
Problem-
I don't get any problem in rendering page. I mean It renders partial view's layout using CSS, But doesn't call scripts from parent view.
I tried-
Because Scripts were not working so I had to use scripts again in partial view whether those scripts are used in parent view(the one with layout)
How do i use a partial view so that scripts and everything that i use in parent view should also remain in partial views.
since a partial view isn't loaded when the page loads the scripts on the main page won't trigger for the partial unless you put the functions in a main function that is called after the partial load or you tie the click events to the document
$(document).on('click', '.btnSubmit', function(){
//your code here
});
if you have a button on your partial with class="btnSubmit" this code will trigger on the main page when it is clicked

Rendering two views at the same time, or a partial and a view

I'm working on a site right now where I have a standard layout, with a view/template. I've spent the past 2 weeks trying to get ajax functionality working, but it's not working and I need an alternative. Is it possible to render a partial WITHIN a view?
As in, layout (view (partial)) sort of thing?
Right now I just have a standard layout and view with a yeild in the layout. There is an empty div in the view where the ajax HTML was supposed to go, I want to fill it with a partial for now
Yes surely, you can call a partial inside any view file. For example, you have a view file 'index.html.erb' and you want to call a partial '_new_partial.html.erb'
In your view file.
<div>
<%= render :partial => 'new_partial' %> #provide complete path if partial is not in the same directory.
</div>

Resources