Visual UI Designer for web apps? - c#

Is there any tool which allows designing a web app visually (drag and drop controls to design page similar to WinForms) for visual studio or any is there any other web app building platform with such feature?
I know that drag and drop is not the best way to design an app, I know this and I am not here to debate you on this. I just need to create one web app, it will be the first and last one so I don't want to learn xaml,css,html ...etc
if there is any tool or plugin for visual studio that will help, I will appreciate it if you tell me about it.

Yes, you can do this.
In fact, when asp.net + web development came out?
99% of developers had worked on desktop software.
99% of developers had used a visual form designer
(FoxPro, ms-access, VB6, vb.net)
So, this visual design approach? (desktop)
Lets drop a button + text box on a form
Drag a button from toolbox on to form. Click on button, add event code.
We have this desinger:
double click on the button, and put in say this code:
private void button1_Click(object sender, EventArgs e)
{
string s = "";
int i;
for (i = 1; i <= 10; i++)
{
if (s != "") { s += System.Environment.NewLine; }
s += i;
}
TextBox1.Text = s;
}
And we get this:
The WHOLE COMBINED software industry worked this way FROM DAY ONE WHEN the graphical user interface was born for computers.
So, now lets do the same in asp.net web forms.
we create a new web page, and I have this visual designer:
Now, double click on the button, and we have the SAME code as before.
(as above).
Note how there was no HTML markup, and just good old fashioned drag + drop.
The output is this when run:
Was that easy or what!!!
So, Microsoft made a great choice. They realized that if they could not provide this REALLY easy to use development paradigm for asp.net? Then EVERYONE would have dropped .net - since the WHOLE reason and WHOLE success of the Microsoft development tools work this way.
So, if Microsoft was going to save .net, and not have everyone drop it - say for ALL THE OTHER web systems appearing?
They had to offer and build a transition type of software.
And THAT IS EXACLTY what they did.
So, back then, the first renditions of web development EXACTLY followed this desktop approach. This is what we call a "transitional" technology choice.
(you do this to SAVE the product and ALL OF the developers that ALWAYS worked that way)
If you create a asp.net web application, then you can choose to create what is called a web-forms application. The WHOLE IDEA of this choice is to with GREAT EASE pull developers from the desktop system to the web based system.
So ZERO surprise you are asking for this kind of development system, since EVERY SINGLE DEVELOPER SYSTEM prior to the web worked that way (at least for high developer productivity, and ease of development you worked that way!!!).
Now, of course that was close to 20 years ago, and since now EVERY new developer NOW starts out with web tools and DOES NOT come from desktop development? Well, they have now DROPPED the web forms designer. (this is beyond sad - but is a reflection of the industry NOW - NOT back then!).
So what then do developers do?
Well, they KEEP a web page open, make changes to the mark-up, hit ctrl-s to save, and then flip over to the browser and hit f5 (to refresh). So developers don't miss (much) the web forms designer and GUI. So, developers thus don't miss the GUI web forms designer much these days.
The other problem? With web standards changing VERY fast, then Microsoft could not keep up with web browsers - and thus that BUILT IN web designer often can't render the page all that well. I still love it - it gets you basic layout, but with new things like css style sheets etc, the the web form designer often does not do all that great of a job. So MS quite much has moved towards you HAVING to use the browser to get correct layout rendering. It was just not possible to "include" a great (perfect) web designer inside of Visual Studio due to the rapid change in Browser technology.
And as noted EVERYONE ELSE in the web development landscape just keeps a browser open and running during development - so the web form designer not all the rage right now.
But, back when asp.net came out? EVERYONE was from desktop, and EVERYONE was working with drag and drop software design. So asp.net ALSO started out this way.
Now, while choosing to create a asp.net web forms project? It is quite old, and is quite legacy right now. But, ironically, a truckload of existing sites were built that way. And the cost of building MVC web applications is VERY high - close to double that of asp.net web forms.
(thus, you can actually find a lot of work for asp.net webform applications).
So you can STILL choose web forms - they are great way to get into asp.net development REALLY fast, and with a MUCH shorter learning curve.
Asp.net web forms are still supported well - but they are "last generation" and considered "legacy" right now. But for a small project to get up and running? webforms are STILL a good choice, and you STILL get that wonderful drag + drop designer!!!
In fact the FIRST version of this site (Stack Overflow) was made with asp.net web forms, but they switched over to MVC for the first release. (and in fact that first version was vb.net!!!).
So MVC (without that wonderfull web layout desiner) is better for large proejcts - say the next FaceBook, or StackOverflow.
But, a typical small business site? Gee, even with 50 users or 100 - it just don't matter performance wise.
The other good reason to choose MVC projects? Well, now we see the rise of what is called Blazer - and that is a REALLY big deal. And you can't choose to use Blazer technology with asp.net web forms. So there are even more reasons to drop the web forms designer.
In the longer run? Without question, MVC is the road and path forward. But, to get something up and running - and with great ease? Web forms is a great choice. Once you get up to speed, then over time, you can make the jump to MVC web projects.
So?
Yes, you can choose to have a drag and drop visual designer for web development, but you be choosing a "older" style technology choice in return for that easy approach.
I don't recommend this choice for longer term, but it can get you up and running if you come from a long time desktop enviroment.

First of all, The answer is YES, HOWEVER, this is not possible through Visual Studio,
there are several ON-LINE websites such as:
Visual Composer
Page Cloud
These websites are not as flexible as a human-made build, and may even cost money.
PS. I Personally do not recommend using these Websites, Instead get someone on fiverr to build a website for you within a gauranteed time period.

Related

Why don't I find web form with master in visual studio 2022?

I am new to ASP.net I try to perform CRUD operations on form. But in visual studio 2022 I can't find web form with master. Web form with master exists in a tutorial which I follow, but when I try there is no such option, there is only web form option.
So, how to solve this problem. I have also downloaded the web development workload
Ok, so, this assumes you created a asp.net webforms application. While they are older, and consiered somewhat legacy, the learning curve is MUCH MUCH less then using MVC.
And for visual 2022, they added some great new features for web forms. So, you can have cool things like "live" preview of data.
So, for example in place of this for a web form:
You can now see/get this:
So some of the BEST NEW features in vs2022 are for web forms!!!
(so much for them being dead!!!).
You can read about these exciting new features in vs2022 for web forms here:
https://devblogs.microsoft.com/visualstudio/design-your-web-forms-apps-with-web-live-preview-in-visual-studio-2022/
Ok, assuming you did create a new webforms project in vs2022?
this one:
then this:
So, now when you say right click on your project, choose add, you should see this:
then you should see this:
However, maybe you are opening a existing web form applcation?
If this is the case, then you have to make sure you selected the addtional worflows and options during the install of vs2022. If you missed that, you need to select those options.
Under tools->get tools and features

Want to run WPF application on Asp.net web application.

I want to run my WPF application on asp.net web application. Actually I have a WPF page.xaml which contain the image viewer, which actually open image and edit it as required.
Now I want to embed that in my Asp.net Web application. I have a asp.net web application user control on which I want that WPF stuff. I research on it on the internet, I find a way that we first publish the WPF application on the IIS server and then past the URL in asp.net web application page iframe. as I follow this below link:
http://msdn.microsoft.com/en-us/library/aa970060.aspx#deploying_a_xbap
now I not want to follow this approach. I want an alternate way of this. Is there any way to handle this scenario. If yes then how can we achieve this?
Yes there's a better way: you can use Silverlight (basically it's a C# equivalent to Flash).
Even if Silverlight is quite the same as WPF, there is some differences due to the fact that silverlight is made for web. So you'll have to make some changes to your application.
About integrating it in your page, it seems quite simple:
You can use an object html element (as you would do with Flash)
Here are some links about that:
http://msdn.microsoft.com/fr-fr/library/cc838145(v=vs.95).aspx
http://www.c-sharpcorner.com/uploadfile/raj1979/host-silverlight-in-Asp-Net/
2 years later, a possible answer appears! Maybe someone else will see this and get some use out of it.
I have been hearing rumors that it is possible to run your WPF application in a browser, it's called an XBAP?
https://msdn.microsoft.com/en-us/library/aa970060%28v=vs.110%29.aspx
I am about to give this a try myself, I'll update this answer with any limitations I find.

Adding a re-usable 'box' to my asp.net web app

I'm building a basic web application in ASP.NET 4.0 with C# in Visual Studio 2010 Pro. I'm still very new to C#, and am used to Delphi coding. My website already has registration/login, and although I use some asp.net controls, a majority of my pages are dynamically loaded from my SQL database and I manually compile the HTML code from C# and insert it into the document.
Now what I would like to do is implement a poll - or a vote box - an 'object' which can be re-used in different pages. My website's master page already has a permanent left panel which has things which show on every page. One of these will be a small box with a vote of a few questions.
All I need to know is how do I begin to build an independent plugin control for a web page like this? I don't necessarily mean a separate DLL or anything, my existing one can handle everything. But I'd like to re-use the same little voting box in different pages too. So I'm assuming this will be considered a separate page, in a way, which is probably about 120 pixels wide by 80 high. Each vote will be limited to either login account or ip address (which I already have access to). So this solution must interact with the existing asp.net application.
So how do I begin the 'backbone' of such a plugin which can be re-used in multiple pages? I do not plan on distributing this plugin, and I don't even know if this is the correct term for what I need. Just a 'box' which can be 're-used' on multiple pages - which must interact with the asp.net app.
To better explain what I mean, imagine how Facebook has the plugin where you can embed some general info about likes and such. I'd like to make my own box like this - and even be able to embed it in other websites.
It sounds like you just need to make the poll into a user control. The documentation should get you started with them. A control can access everything an ASP.NET page can when it comes to the login information. It won't handle embedding into other pages though – embeddable active content that authenticates against your site is a nontrivial problem.
As I said in the comment, if most of your HTML is creates as a blob that's opaque to ASP.NET, it will probably be nontrivial to insert a user control into the middle of it.

Minor web-forms designer thingy

As a high-school student [that pretty much has C# knowledge of a first degree] - I got an assignment for the Israelish 'Bagrut' exams [which are the final, most important exams in high-school] - before we actually went through the materiel in-class [about 3 years earlier.]
It was to make a simple dynamic website, maybe a basic social website or an online-store, with importance of server-side ASP.NET.
My teacher gave me a book from 2006 called 'ASP.NET & XML Web Services' - and I've started learning.
The problem is, I have VS2010 Ultimate with .NET FW 4 installed, and apparently, is majorly different from the C# Express that the book author has.
On my VS, the Design Editor of the HTML is not allowing me to have the WinForms level of freedom, but makes me write the CSS myself, not show me the common XY based designer, but something like a blog WYSIWYG - without the freedom of moving stuff around.
As I do not want to work too hard converting the book instructions to my VS, I would like to know if its possible to get the [probably obsolete] WinForms - WebForms designer - and not by downloading a very old version of VS.
I've tried playing around a bit with VS, and found out that the book used System.Web.UI.Page, while my VS uses System.Web.UI.HtmlControls.HtmlForm - even manually changing to UI.Page did nothing to the designer.
Is it possible to 'go back' to the WinForm type of designer? Thank you!
No, it's not possible to do what you want. You are referring to the ugly, terrible, thing-that-should-have-never-been-created-in-the-first-place grid layout thing that Visual Studio 2003 used to have. Learn a bit of HTML. Tables are easy enough to learn and lay out things properly on your markup.
Designing webforms is much different than designing winforms, as the designer uses HTML for the markup. There's really no way to change that, but there should be a design view that allows you to drag and drop, and move things around similarly to how you would a windows form.
As for the design aspect of your site, there is probably no way to escape CSS. The design view should help you with the layout, but most of the styling and aesthetics will have to do be done in CSS.
Page shown in design view
Toolbox
View (Design/Split/Source)
Solution Explorer
Properties Window
Run (F5)
Umm, I'm no web developer and I have no real opinion about whether WebForms is really as evil as Icarus says, but I'm going to have to just throw out there as an alternate answer to his - don't learn to lay out your HTML using tables - HTML tables are for tabular data. Learn to layout your HTML using <span> and <div>, because that is the correct and standards-compliant way to do it. Also because every time you use tables for layout, a skinny-jeans-and-thick-rimmed-glasses wearing hipster dies somewhere, and we need them and their creativity.
You can switch between Content (where you can move your 'stuff') and Code in the HTML Designer, but the point is that VS2010 (be it Express or Ultimate) is for professional development and if you are unwilling to get to know HTML and CSS, there is not point in using it.
You'd be better using other tools like Adobe Dreamweaver or free tools like Amaya
Update: Try WebMatrix

I'm about to start using ASP.NET MVC2 for my web application

I have a pretty big web application that I created last year using ASP.NET webforms. It has two parts: Admin and Client (each one a project inside a single solution). Admin logs in as you would expect and manages the clients. Clients log in and manage themselves. SQL Server back end. It relies heavily on MasterPages and LINQ. It has 2 class libraries, one for my methods (authentication, security, encryption, etc.) and another with dbml files for linq that both admin and client project reference.
Now I really want to convert this to MVC 2. I know I'll have to rewrite the front end (not a problem, looking forward to it). I can reference my current class libraries and modify them as I need. My main concerns are my forms and controls. I'd really like to stay away from the major asp controls and use jquery for everything if possible (especially the presentation layer. I'm just not sure how to go about doing this. I was also told jquery is great for 'parsing and updating the DOM' but I've never done this either and not sure where to start (why do this over LINQ?).
Another issue I struggled with was the size of my main table. It has 109 fields in it, and my customer thinks all of them need to be available on screen (or as many as possible, especially in the grid). I had to break up my entry/edit form into 5 tabs (all web controls). My grids have sorting, grouping, export to excel, etc... I would really like to find a grid that lets you inline edit individual cells when double clicked. Would it be better to use jquery for grids? I can break that large table into relational tables if needed (probably will do that anyway).
Any advice from anyone who's done similar will be greatly appreciated. I just bought the book "Pro ASP.NET MVC 2 Framework, Second Edition" and I have a great jQuery ebook I'm working with.
Thank you guys!
EDIT: Should have mentioned I used Telerik WebControls for my previous web forms project so I'm familiar with them. I had no idea their MVC suite was free (I've paid quite a bit for the webform controls).
For grids I can recommend the free Telerik mvc controls. They have good support for ajax binding paging, sort, edit, parent-child etc.
This combined with a few widgets from jQuery ui (tabs, dialog) should put you on the right track as far as your presentation layer is concerned.
Adding to RedSquare, the Telerik Extensions for ASP.NET MVC are free and open source (under GPLv2). That essentially means the Extensions for free for "free" projects (projects you're not trying to sell). If you're trying to sell and make money from your software, we have a commercial license, too, to support that.
Today, the Extensions for MVC include 8 extensions: Grid, Calendar, DatePicker, Menu, NumericTextBox, PanelBar, TabStrip, and TreeView.
Additionally, 3 new Extensions are available in beta: Editor, ComboBox, and Window. (Official release towards the end of August.)
The goal of the Extensions is to make it easier to build rich MVC Views, similar to what you've done in the past in WebForms. MVC is very different than WebForms, though, so be careful when making the transition to avoid the "traps" of thinking in WebForms mode. For example, there are no PostBacks or ViewState in MVC, so some things require more deliberate code in MVC.
Finally, as a word of caution for "pure" JavaScript components, remember that they do not support any scenario where JavaScript is disable or not executed (common examples: web crawlers, accessible browsers). If accessibility or SEO are concerns, Server + Client UI controls like the Telerik Extensions can be a bonus.
Hope that helps.

Categories