namespacecommon.helper{ Public Static classcontrollerextension {//converts part of a view's content to a string based on part of the view name Public Static stringRenderpartialviewtostring ( ThisController controller,stringpartialviewname) { returnController. Renderpartialviewtostring (Partialviewname,NULL); } //converts part of a view's content to a string based on part of the view name and model Public Static stringRenderpartialviewtostring ( ThisController controller,stringPartialviewname,Objectmodel) { //if Partialviewname is empty, the action name is used as part of the view name if(string. IsNullOrEmpty (Partialviewname)) {Partialviewname= Controller. ControllerContext.RouteData.GetRequiredString ("Action"); } //Put the model into the Controller.ViewData.Model attributeController. Viewdata.model =model; using(varSW =NewStringWriter ()) { //From the view engine, in the current ControllerContext, get the Viewengineresult type based on the partial view name varViewResult =ViewEngines.Engines.FindPartialView (Controller. ControllerContext, Partialviewname); //Create ViewContext varViewContext =NewViewContext (Controller. ControllerContext, Viewresult.view, controller. ViewData, Controller. TempData, SW); //write the contents into the StringWriterViewResult.View.Render (ViewContext, SW); //stringwriter→string returnSW. Getstringbuilder (). ToString (); } } }}