Replicate ASP.NET Control/Functionality over pages with a single control - c#

I got multiple pages (not all) with the same functionality (a control for send Contact info) even for Dekstop and Mobile websites.
I want to create just one control and declare it as something like: "<asp:MySendInfo />" wherever I want to display all the TextBoxes, Lables, load events, etc, etc; that compose the hole functionality.
I can't use iframes or a masterpage.

As a comment from Yuriy above says, you are looking for User Controls (they usually have an .ascx extension). They work pretty much the same as ASP.NET Pages (.aspx).
For a quick start this is how you add them to your project and how you register and call them in your page.

Related

Iframe, MasterPage C#

I am creating a web application C# asp.net . I have a simple menu but I do no know if using
iframes to show different options according to the menu is better than using a masterpage.
I am pretty new at this. I read that iframes are not being used anymore.
Is there any other option that I can use?
Thanks
Yeah, I wouldn't use iframes in that context. At one point they were used to give the impression of something akin to Ajax, but you'll really only find them used these days for embedding videos, audio, etc. from other sites (e.g. YouTube, Soundcloud). Master pages should suffice - you'll have a master page with the menu itself, and any menu selection will load an entirely different page, albeit with the same menu provided by the master page. If you're looking to provide navigation without an entire page refresh, then you're getting into the realm of SPAs (single page applications), which will require the use of Ajax.

Interacting with web pages in C#

There is a website that was created using ColdFusion (not sure if this matters or not). I need to interact with this web site. The main things I need to do are navigate to different pages and click buttons.
I have come up with two ideas on how to do this. The first is to use the WebBrowser control. With this, I could certainly navigate pages, and click buttons (According to This).
The other way is to interact with the html directly. Not sure exactly how to do this, but I am assuming I could click buttons or use HTML requests to interact with the page.
Does anyone have a recommendation on which way is better? Is there a better way that I haven't thought of?
I'd use Html AgilityPack to parse the html and then do POSTs and GETs appropriately with HttpWebRequest.
While it may be possible to use the WebBrowser control to simulate clicks and navigation you get more control with Html AgilityPack and HttpWebRequest regarding what gets sent
Did you consider Selenium? The WebDriver API is quite good, and permits a lot of things in terms of Website automation.
why not submit directly the url? that's what the button click will do.
using WebRequest.Create you can submit directly to the url. no need to load, parse and "click" the button.
HtmlAguilityPack is useful for pulling the web elements and finding tags easily. If you need to remotely "steer" a web session, though, I prefer to use WatiN. It bills itself as a web unit testing framework, but it's very useful anytime you need to fake a browser section. Further, it can remote control different browsers well enough for most tasks you'll need (like finding a button and pushing it, or a text field and filling in text if you need a login).

C# web forms api to dynamically create forms

I am working on an asp.net project which has numerous form screens. All our forms are pretty much using a given set layout which needs to be made by developers ond an on again.
Our current implementation requires that for every form control, a developers needs to write inside in the .aspx file the HTML of our forms (whilst embedding our field controls in them).
As a result, we have our project's HTML code scattered in many, many controls all over the place. It is highly possible that we change the HTML of our forms in the future.
Does asp.net C# have anything similar to Drupal's Form API which allows developers to simply create their forms programatically using a "Form Control" of some sort? The developer would add 'rows' with different field controls in them. It is then upto the 'Form Control' to generate the HTML structure of the form in the end.
Using such a method should give me the following benefits:
HTML is all in one place - making it easy to change and even skin differently
Developers who are not HTML+CSS savvy do not need to tinker out of their comfort zone
Fast development of new forms
I had a look online and it looks to me that maybe what I am after is a Hybrid Table Control that is modified to generate Div's (and not necessarily table tags).
Any ideas?
I would:
create a master page for the whole web application
create a nested master page for the pages where these data controls appear
put all necessary CSS, html etc in these master pages
create a 'template control' for developers to follow, where they just need to drop items onto a new control.

How can I load .ascx user control from console application or windows service?

We use ascx user controls as templates for documents (e.g. invoices).
Now I need to load,render to HTML, then transform to PDF these controls from windows service.
So, what's the correct way/workaround? TemplateControl.LoadControl(path) doesn't work.
To be perfectly honest, I don't know how to do this. However, if I was stuck with this problem, I think I'd download the ASP.NET MVC source, and see what they do to render a partial view (a partial view in MVC is essentially an .ascx control). The Render method on System.Web.Mvc.WebFormView might be a good starting place.
You're probably going about it the wrong way, to be honest. You should probably have your logic embedded in a library, and then have the user control interface with that library. Then, you could use that same logic to populate values on a form, or similar.
You're probably going to run into a lot of trouble trying to get the control to load, and deal with things that don't exist outside of ASP.Net, like session variables, and viewstate.
Generally, what you're asking for is a report, which is handled by something like Crystal Reports, or SQL Server Reporting Services.

Effectivly creating a tabbed website with RadTabStrip

I have an ASP.NET web application that I am making and I am thinking of making it a tabbed interface using Telerik's RadTabStrip. I am trying to figure out the best way to approach this though. I would need about 10 tabs because I have about 10 different main areas of my application. My question is how is the best way to integrate the content into the tabs. All of the simple examples I've seen create RadViews with imbedded HTML/ASP.NET content. The problem with this approach is that, with 10 tabs, it would make my main ASPX file really really big and it would be kind of clumsy to work with, having to integrate all 10 pages into one page. Is there a better or more accepted way to accomplish this?
I think, you have several possibilities:
Use one RadTabStrip and several RadView controls. Put the content for each tab into a separate user control (*.ascx). Then you only have to include the user controls in your main aspx page.
Use a master page and put the RadTabStrip on it. Create a separate page for each area of your application (each using the same master page). Use the RadTab's NavigateUrl property to navigate to the corresponding page (as shown in this demo).
there are certainly other possibilities...

Categories

Resources